/*
- * $Id: client_side.cc,v 1.311 1998/05/21 04:01:02 wessels Exp $
+ * $Id: client_side.cc,v 1.312 1998/05/21 23:14:05 wessels Exp $
*
* DEBUG: section 33 Client-side Routines
* AUTHOR: Duane Wessels
http->uri, prefix);
/* continue anyway? */
}
- if (!http->flags.internal)
- if (internalCheck(strBuf(request->urlpath)))
- if (0 == strcasecmp(request->host, getMyHostname()))
+ if (!http->flags.internal) {
+ if (internalCheck(strBuf(request->urlpath))) {
+ if (0 == strcasecmp(request->host, getMyHostname())) {
if (request->port == Config.Port.http->i)
http->flags.internal = 1;
+ } else if (internalStaticCheck(strBuf(request->urlpath))) {
+ xstrncpy(request->host, getMyHostname(), SQUIDHOSTNAMELEN);
+ request->port = Config.Port.http->i;
+ http->flags.internal = 1;
+ }
+ }
+ }
safe_free(http->log_uri);
http->log_uri = xstrdup(urlCanonicalClean(request));
request->client_addr = conn->peer.sin_addr;
return (0 == strncmp(urlpath, "/squid-internal-", 16));
}
+int
+internalStaticCheck(const char *urlpath)
+{
+ return (0 == strncmp(urlpath, "/squid-internal-static", 22));
+}
+
/*
* makes internal url with a given host and port (remote internal url)
*/
extern void internalStart(request_t *, StoreEntry *);
extern int internalCheck(const char *urlpath);
+extern int internalStaticCheck(const char *urlpath);
extern char *internalLocalUri(const char *dir, const char *name);
extern char *internalRemoteUri(const char *, u_short, const char *, const char *);