#include "AccessLogEntry.h"
#include "client_side.h"
#include "clientStream.h"
#include "http/forward.h"
#include "HttpHeaderRange.h"
#include "log/forward.h"
#include "LogTags.h"
#include "Store.h"
#include "adaptation/forward.h"
#include "adaptation/Initiator.h"
Go to the source code of this file.
Classes | |
class | ClientHttpRequest |
struct | ClientHttpRequest::Out |
struct | ClientHttpRequest::Flags |
struct | ClientHttpRequest::Redirect |
Functions | |
int | clientBeginRequest (const HttpRequestMethod &, char const *, CSCB *, CSD *, ClientStreamData, HttpHeader const *, char *, size_t, const MasterXactionPointer &) |
char * | clientConstructTraceEcho (ClientHttpRequest *) |
ACLFilledChecklist * | clientAclChecklistCreate (const acl_access *, ClientHttpRequest *) |
void | clientAclChecklistFill (ACLFilledChecklist &, ClientHttpRequest *) |
void | clientAccessCheck (ClientHttpRequest *) |
void | tunnelStart (ClientHttpRequest *) |
Function Documentation
◆ clientAccessCheck()
void clientAccessCheck | ( | ClientHttpRequest * | ) |
◆ clientAclChecklistCreate()
ACLFilledChecklist * clientAclChecklistCreate | ( | const acl_access * | acl, |
ClientHttpRequest * | http | ||
) |
Definition at line 3486 of file client_side.cc.
References clientAclChecklistFill().
Referenced by clientReplyContext::blockedHit(), ClientRequestContext::checkNoCache(), ClientRequestContext::clientAccessCheck(), ClientRequestContext::clientAccessCheck2(), clientFollowXForwardedForCheck(), ClientRequestContext::clientRedirectStart(), ClientRequestContext::clientStoreIdStart(), clientReplyContext::processReplyAccess(), Http::Stream::sendStartOfMessage(), and ClientRequestContext::sslBumpAccessCheck().
◆ clientAclChecklistFill()
void clientAclChecklistFill | ( | ACLFilledChecklist & | checklist, |
ClientHttpRequest * | http | ||
) |
Definition at line 3494 of file client_side.cc.
References ACLFilledChecklist::al, ClientHttpRequest::al, assert, conn, ClientHttpRequest::getConn(), RefCount< C >::getRaw(), HTTPMSGLOCK(), ClientHttpRequest::log_uri, AccessLogEntry::reply, ACLFilledChecklist::reply, ACLFilledChecklist::request, ClientHttpRequest::request, ACLFilledChecklist::setConn(), ACLFilledChecklist::setRequest(), and ACLFilledChecklist::syncAle().
Referenced by clientAclChecklistCreate(), DelayId::DelayClient(), ConnStateData::fillChecklist(), clientReplyContext::fillChecklist(), and ConnStateData::serveDelayedError().
◆ clientBeginRequest()
int clientBeginRequest | ( | const HttpRequestMethod & | method, |
char const * | url, | ||
CSCB * | streamcallback, | ||
CSD * | streamdetach, | ||
ClientStreamData | streamdata, | ||
HttpHeader const * | header, | ||
char * | tailbuf, | ||
size_t | taillen, | ||
const MasterXaction::Pointer & | mx | ||
) |
Create a request and kick it off
- Return values
-
0 success -1 failure
TODO: Pass in the buffers to be used in the initial Read request, as they are determined by the user
Definition at line 277 of file client_side_request.cc.
References ClientHttpRequest::Flags::accel, RequestFlags::accelerated, ClientHttpRequest::al, SquidConfig::appendDomainLen, AccessLogEntry::cache, ClientHttpRequest::calloutContext, HttpRequest::client_addr, ClientHttpRequest::client_stream, clientGetMoreData, clientReplyDetach, clientReplyStatus, clientStreamInit(), Config, Http::Message::content_length, current_time, StoreIOBuffer::data, debugs, ClientHttpRequest::doCallouts(), ClientHttpRequest::flags, HttpRequest::flags, HttpRequest::FromUrlXXX(), Http::Message::header, ClientRequestContext::http_access_done, Http::Message::http_ver, HttpRequest::indirect_client_addr, ClientHttpRequest::initRequest(), StoreIOBuffer::length, HttpRequest::my_addr, ClientRequestContext::no_cache_done, Ip::Address::port(), Http::ProtocolVersion(), ClientRequestContext::redirect_done, ClientHttpRequest::req_sz, Ip::Address::setNoAddr(), AccessLogEntry::CacheDetails::start_time, HttpHeader::update(), ClientHttpRequest::uri, and xcalloc().
Referenced by ESIInclude::Start().
◆ clientConstructTraceEcho()
char * clientConstructTraceEcho | ( | ClientHttpRequest * | ) |
◆ tunnelStart()
void tunnelStart | ( | ClientHttpRequest * | http | ) |
Definition at line 1139 of file tunnel.cc.
References TunnelStateData::TunnelStateData(), SquidConfig::accessList, ACLFilledChecklist::al, ClientHttpRequest::al, StatCounters::all, HttpRequest::client_addr, Server::clientConnection, AccessLogEntry::HttpDetails::code, Config, debugs, DelayId::DelayClient(), Acl::Answer::denied(), ERR_FORWARDING_DENIED, errorSend(), ACLChecklist::fastCheck(), ClientHttpRequest::getConn(), AccessLogEntry::http, TunnelStateData::http, Http::Message::http_ver, Ip::Address::isNoAddr(), LOG_TCP_TUNNEL, ClientHttpRequest::log_uri, HttpRequest::method, SquidConfig::miss, ACLFilledChecklist::my_addr, HttpRequest::my_addr, MYNAME, StatCounters::other, ClientHttpRequest::request, TunnelStateData::request, StatCounters::requests, Http::scForbidden, StatCounters::server, TunnelStateData::server, TunnelStateData::Connection::setDelayId(), ACLFilledChecklist::src_addr, PeerSelectionInitiator::startSelectingDestinations(), statCounter, ACLFilledChecklist::syncAle(), ClientHttpRequest::updateLoggingTags(), ClientHttpRequest::uri, and TunnelStateData::url.
Referenced by ClientHttpRequest::processRequest().