#endif
logType = LOG_TCP_MISS;
getConn()->stopReading(); // tunnels read for themselves
- tunnelStart(this, &out.size, &al->http.code);
+ tunnelStart(this, &out.size, &al->http.code, al);
return;
}
void clientAccessCheck(ClientHttpRequest *);
/* ones that should be elsewhere */
-void tunnelStart(ClientHttpRequest *, int64_t *, int *);
+void tunnelStart(ClientHttpRequest *, int64_t *, int *, const AccessLogEntry::Pointer &al);
#if _USE_INLINE_
#include "Store.h"
bool noConnections() const;
char *url;
HttpRequest::Pointer request;
+ AccessLogEntryPointer al;
Comm::ConnectionList serverDestinations;
const char * getHost() const {
nfmark_t GetNfmarkToServer(HttpRequest * request);
void
-tunnelStart(ClientHttpRequest * http, int64_t * size_ptr, int *status_ptr)
+tunnelStart(ClientHttpRequest * http, int64_t * size_ptr, int *status_ptr, const AccessLogEntryPointer &al)
{
debugs(26, 3, HERE);
/* Create state structure. */
tunnelState->server.size_ptr = size_ptr;
tunnelState->status_ptr = status_ptr;
tunnelState->client.conn = http->getConn()->clientConnection;
+ tunnelState->al = al;
comm_add_close_handler(tunnelState->client.conn->fd,
tunnelClientClosed,
mb.Printf("CONNECT %s HTTP/1.1\r\n", tunnelState->url);
HttpStateData::httpBuildRequestHeader(tunnelState->request.getRaw(),
NULL, /* StoreEntry */
- NULL, /* AccessLogEntry */
+ tunnelState->al, /* AccessLogEntry */
&hdr_out,
flags); /* flags */
packerToMemInit(&p, &mb);