/*
- * $Id: mime.cc,v 1.59 1998/04/02 04:45:06 rousskov Exp $
+ * $Id: mime.cc,v 1.60 1998/04/05 02:34:58 rousskov Exp $
*
* DEBUG: section 25 MIME Parsing
* AUTHOR: Harvest Derived
mimeGetIconURL(const char *fn)
{
char *icon = mimeGetIcon(fn);
- static char iconurl[256];
- static char host[SQUIDHOSTNAMELEN];
if (icon == NULL)
return NULL;
- xstrncpy(host, getMyHostname(), SQUIDHOSTNAMELEN);
- Tolower(host);
- snprintf(iconurl, 256, "http://%s:%d/squid-internal/icons/%s",
- host,
- Config.Port.http->i,
- icon);
- return iconurl;
+ return urlInternal("icons", icon);
}
char *
extern void netdbFreeMemory(void);
extern int netdbHostHops(const char *host);
extern int netdbHostRtt(const char *host);
+extern int netdbHostPeerRtt(const char *host, peer * peer);
extern void netdbUpdatePeer(request_t *, peer * e, int rtt, int hops);
extern void netdbDeleteAddrNetwork(struct in_addr addr);
extern int netdbHostPeerRtt(const char *host, peer * peer);
extern peer *peerGetSomeParent(request_t *, hier_code *);
extern void peerSelectInit(void);
+/* peer_digest.c */
+extern void peerDigestValidate(peer *p);
+extern void peerDigestRequest(peer *p);
+
extern void protoDispatch(int, StoreEntry *, request_t *);
extern int protoUnregister(StoreEntry *, request_t *);
extern void urlInitialize(void);
extern request_t *urlParse(method_t, char *);
extern char *urlCanonical(const request_t *, char *);
+extern char *urlRInternal(const char *host, int port, const char *dir, const char *name);
+extern char *urlInternal(const char *dir, const char *name);
extern request_t *requestLink(request_t *);
extern void requestUnlink(request_t *);
extern int matchDomainName(const char *d, const char *h);
/*
- * $Id: url.cc,v 1.84 1998/03/31 05:37:53 wessels Exp $
+ * $Id: url.cc,v 1.85 1998/04/05 02:34:59 rousskov Exp $
*
* DEBUG: section 23 URL Parsing
* AUTHOR: Duane Wessels
return buf;
}
+/* makes internal url with a given host and port (remote internal url) */
+char *
+urlRInternal(const char *host, int port, const char *dir, const char *name)
+{
+ LOCAL_ARRAY(char, buf, MAX_URL);
+ assert(host && port && name);
+ if (!dir || !*dir)
+ snprintf(buf, MAX_URL, "http://%s:%d/%s", host, port, name);
+ else
+ snprintf(buf, MAX_URL, "http://%s:%d/%s/%s", host, port, dir, name);
+ return buf;
+}
+
+/* makes internal url with local host and port */
+char *
+urlInternal(const char *dir, const char *name)
+{
+ static char host[SQUIDHOSTNAMELEN];
+ xstrncpy(host, getMyHostname(), SQUIDHOSTNAMELEN);
+ Tolower(host);
+ return urlRInternal(host, Config.Port.http->i, dir, name);
+}
+
request_t *
requestLink(request_t * request)
{