client_side.h File Reference
#include "base/RunnersRegistry.h"
#include "clientStreamForward.h"
#include "comm.h"
#include "helper/forward.h"
#include "http/forward.h"
#include "HttpControlMsg.h"
#include "ipc/FdNotes.h"
#include "log/forward.h"
#include "proxyp/forward.h"
#include "sbuf/SBuf.h"
#include "servers/Server.h"
#include "auth/UserRequest.h"
#include "security/Handshake.h"
#include "ssl/support.h"
#include "MessageBucket.h"
#include <iosfwd>
Include dependency graph for client_side.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  ConnStateData
class  ConnStateData::PinnedIdleContext
 parameters for the async notePinnedConnectionBecameIdle() call More...




typedef RefCount< MasterXactionMasterXactionPointer


const char * findTrailingHTTPVersion (const char *uriAndHTTPVersion, const char *end=NULL)
int varyEvaluateMatch (StoreEntry *entry, HttpRequest *req)
void clientStartListeningOn (AnyP::PortCfgPointer &port, const RefCount< CommCbFunPtrCallT< CommAcceptCbPtrFun > > &subCall, const Ipc::FdNoteId noteId)
 accept requests to a given port and inform subCall about them More...
void clientOpenListenSockets (void)
void clientConnectionsClose (void)
void httpRequestFree (void *)
void clientSetKeepaliveFlag (ClientHttpRequest *http)
 decide whether to expect multiple requests on the corresponding connection More...
void clientPackRangeHdr (const HttpReplyPointer &, const HttpHdrRangeSpec *, String boundary, MemBuf *)
 append a "part" HTTP header (as in a multi-part/range reply) to the buffer More...
void clientPackTermBound (String boundary, MemBuf *)
 put terminating boundary for multiparts to the buffer More...
void clientProcessRequest (ConnStateData *, const Http1::RequestParserPointer &, Http::Stream *)
void clientPostHttpsAccept (ConnStateData *)
std::ostream & operator<< (std::ostream &os, const ConnStateData::PinnedIdleContext &pic)


SQUIDCEXTERN CSS clientReplyStatus
SQUIDCEXTERN CSD clientReplyDetach
CSCB clientSocketRecipient
CSD clientSocketDetach

Typedef Documentation

◆ MasterXactionPointer

Definition at line 41 of file client_side.h.

Function Documentation

◆ clientConnectionsClose()

void clientConnectionsClose ( void  )

◆ clientOpenListenSockets()

void clientOpenListenSockets ( void  )

◆ clientPackRangeHdr()

◆ clientPackTermBound()

void clientPackTermBound ( String  boundary,

◆ clientPostHttpsAccept()

void clientPostHttpsAccept ( ConnStateData )

◆ clientProcessRequest()

void clientProcessRequest ( ConnStateData ,
const Http1::RequestParserPointer ,

Definition at line 1607 of file

References ClientHttpRequest::Flags::accel, ClientHttpRequest::al, assert, ClientHttpRequest::calloutContext, clientIsContentLengthValid(), clientIsRequestBodyTooLargeForPolicy(), clientProcessRequestFinished(), clientSetKeepaliveFlag(), Config, conn, _request::content_length, debugs, ClientHttpRequest::doCallouts(), ERR_INVALID_REQ, ERR_TOO_BIG, ERR_UNSUP_REQ, ClientHttpRequest::flags, Http::Stream::getClientReplyContext(), getMyPort(), SquidConfig::global_internal_static, Http::Stream::http, ClientHttpRequest::Flags::internal, internalCheck(), internalHostname(), internalHostnameIs(), internalStaticCheck(), AnyP::ProtocolVersion::major, Http::MAX_FORWARDS, Http::Stream::mayUseConnection(), HttpRequest::method, _request::method, Http::METHOD_CONNECT, Http::METHOD_NONE, Http::METHOD_OPTIONS, AnyP::ProtocolVersion::minor, NULL, ClientHttpRequest::Out::offset, SquidConfig::onoff, ClientHttpRequest::out, AnyP::PROTO_HTTP, AnyP::PROTO_HTTPS, AnyP::ProtocolVersion::protocol, Http::Stream::pullData(), ClientHttpRequest::request, request(), Http::scLengthRequired, Http::scNotImplemented, Http::scPayloadTooLarge, ClientHttpRequest::setLogUriToRequestUri(), clientReplyContext::setReplyToError(), String::size(), Http::Message::srcFtp, Http::Message::srcHttp, Http::Message::srcHttps, Http::TRANSFER_ENCODING, _request::url, and urlCheckRequest().

Referenced by Ftp::Server::doProcessRequest(), Http::One::Server::proceedAfterBodyContinuation(), and Http::One::Server::processParsedRequest().

◆ clientSetKeepaliveFlag()

void clientSetKeepaliveFlag ( ClientHttpRequest http)

clientSetKeepaliveFlag() sets request->flags.proxyKeepalive. This is the client-side persistent connection flag. We need to set this relatively early in the request processing to handle hacks for broken servers and clients.

Definition at line 648 of file

References debugs, _request::method, ClientHttpRequest::request, and request().

Referenced by clientProcessRequest(), and Ftp::Server::doProcessRequest().

◆ clientStartListeningOn()

◆ findTrailingHTTPVersion()

const char* findTrailingHTTPVersion ( const char *  uriAndHTTPVersion,
const char *  end 

'end' defaults to NULL for backwards compatibility remove default value if we ever get rid of NULL-terminated request buffers.

Definition at line 1073 of file

References assert, NULL, and xisspace.

Referenced by HttpRequest::parseFirstLine().

◆ httpRequestFree()

void httpRequestFree ( void *  )

Definition at line 495 of file

References assert, data, and NULL.

Referenced by esiBufferRecipient(), ClientHttpRequest::~ClientHttpRequest(), and Http::Stream::~Stream().

◆ operator<<()

std::ostream& operator<< ( std::ostream &  os,
const ConnStateData::PinnedIdleContext pic 

◆ varyEvaluateMatch()

Variable Documentation

◆ clientGetMoreData

◆ clientReplyDetach

◆ clientReplyStatus

◆ clientSocketDetach

CSD clientSocketDetach

Definition at line 467 of file client_side.h.

Referenced by Ftp::Server::parseOneRequest().

◆ clientSocketRecipient

CSCB clientSocketRecipient

Definition at line 466 of file client_side.h.

Referenced by Ftp::Server::parseOneRequest().






Web Site Translations