#include <HttpRequest.h>

Inheritance diagram for HttpRequest:
Collaboration diagram for HttpRequest:

Public Types

typedef RefCount< HttpRequestPointer
enum  Sources {
  srcUnknown = 0,
  srcHttps = 1 << 0,
  srcFtps = 1 << 1,
  srcIcaps = 1 << 2,
  srcEcaps = 1 << 3,
  srcHttp = 1 << (16 + 0),
  srcFtp = 1 << (16 + 1),
  srcIcap = 1 << (16 + 2),
  srcEcap = 1 << (16 + 3),
  srcGopher = 1 << (16 + 14),
  srcWhois = 1 << (16 + 15),
  srcUnsafe = 0xFFFF0000,
  srcSafe = 0x0000FFFF
 Who may have created or modified this message? More...
enum  ParseState {
  psReadyToParseStartLine = 0,
 parse state of HttpReply or HttpRequest More...

Public Member Functions

void * operator new (size_t byteCount)
void operator delete (void *address)
 HttpRequest (const MasterXaction::Pointer &)
 HttpRequest (const HttpRequestMethod &aMethod, AnyP::ProtocolType aProtocol, const char *schemeImage, const char *aUrlpath, const MasterXaction::Pointer &)
 ~HttpRequest ()
virtual void reset ()
void initHTTP (const HttpRequestMethod &aMethod, AnyP::ProtocolType aProtocol, const char *schemeImage, const char *aUrlpath)
virtual HttpRequestclone () const
bool maybeCacheable ()
bool conditional () const
 has at least one recognized If-* header More...
bool canHandle1xx () const
 whether the client is likely to be able to handle a 1xx reply More...
char * canonicalCleanUrl () const
Adaptation::History::Pointer adaptLogHistory () const
 Returns possibly nil history, creating it if adapt. logging is enabled. More...
Adaptation::History::Pointer adaptHistory (bool createIfNone=false) const
 Returns possibly nil history, creating it if requested. More...
void adaptHistoryImport (const HttpRequest &them)
 Makes their history ours, throwing on conflicts. More...
Adaptation::Icap::History::Pointer icapHistory () const
 Returns possibly nil history, creating it if icap logging is enabled. More...
void prepForPeering (const CachePeer &peer)
 get ready to be sent to the given cache_peer, including originserver More...
void prepForDirect ()
 get ready to be sent directly to an origin server, excluding originserver More...
void recordLookup (const Dns::LookupDetails &detail)
void detailError (const err_type c, const ErrorDetail::Pointer &d)
 sets error detail if no earlier detail was available More...
void clearError ()
 clear error details, useful for retries/repeats More...
void manager (const CbcPointer< ConnStateData > &aMgr, const AccessLogEntryPointer &al)
 associates the request with a from-client connection manager More...
const SBufeffectiveRequestUri () const
 RFC 7230 section 5.5 - Effective Request URI. More...
bool multipartRangeRequest () const
bool parseFirstLine (const char *start, const char *end)
virtual bool expectingBody (const HttpRequestMethod &unused, int64_t &) const
bool bodyNibbled () const
int prefixLen () const
void swapOut (StoreEntry *e)
void pack (Packable *p) const
ConnStateDatapinnedConnection ()
const SBuf storeId ()
void ignoreRange (const char *reason)
 forgets about the cached Range header (for a reason) More...
int64_t getRangeOffsetLimit ()
NotePairs::Pointer notes ()
bool hasNotes () const
virtual void configureContentLengthInterpreter (Http::ContentLengthInterpreter &)
 configures the interpreter as needed More...
bool parseHeader (Http1::Parser &hp)
bool parseHeader (const char *buffer, const size_t size)
void packInto (Packable *, bool full_uri) const
 produce a message copy, except for a few connection-specific settings More...
void setContentLength (int64_t)
 [re]sets Content-Length header and cached value More...
bool persistent () const
void putCc (const HttpHdrCc *otherCc)
 copies Cache-Control header to this message More...
bool parse (const char *buf, const size_t sz, bool eol, Http::StatusCode *error)
bool parseCharBuf (const char *buf, ssize_t end)
int httpMsgParseStep (const char *buf, int len, int atEnd)
virtual int httpMsgParseError ()
void firstLineBuf (MemBuf &)
 useful for debugging More...

Static Public Member Functions

static int UseCount ()
static void httpRequestPack (void *obj, Packable *p)
static HttpRequestFromUrl (const SBuf &url, const MasterXaction::Pointer &, const HttpRequestMethod &method=Http::METHOD_GET)
static HttpRequestFromUrlXXX (const char *url, const MasterXaction::Pointer &, const HttpRequestMethod &method=Http::METHOD_GET)

Public Attributes

HttpRequestMethod method
AnyP::Uri url
 the request URI More...
Auth::UserRequest::Pointer auth_user_request
String store_id
RequestFlags flags
time_t ims
int imslen
Ip::Address client_addr
Ip::Address indirect_client_addr
Ip::Address my_addr
HierarchyLogEntry hier
int dnsWait
 sum of DNS lookup delays in milliseconds, for dt More...
Error error
 the first transaction problem encountered (or falsy) More...
char * peer_login
char * peer_host
time_t lastmod
SBuf vary_headers
 The variant second-stage cache key. Generated from Vary header pattern for this request. More...
char * peer_domain
String myportname
String tag
String extacl_user
String extacl_passwd
String extacl_log
String extacl_message
String x_forwarded_for_iterator
String etag
 A strong etag of the cached entry. Used for refreshing that entry. More...
bool forcedBodyContinuation
 whether we have responded with HTTP 100 or FTP 150 already More...
CbcPointer< ConnStateDataclientConnectionManager
CbcPointer< Downloaderdownloader
 The Downloader object which initiated the HTTP request if any. More...
MasterXaction::Pointer masterXaction
 the master transaction this request belongs to. Never nil. More...
AnyP::ProtocolVersion http_ver
HttpHeader header
HttpHdrCccache_control = nullptr
int hdr_sz = 0
int64_t content_length = 0
ParseState pstate = Http::Message::psReadyToParseStartLine
 the current parsing state More...
BodyPipe::Pointer body_pipe
 optional pipeline to receive message body More...
uint32_t sources = 0
 The message sources. More...

Protected Member Functions

void clean ()
void init ()
virtual void packFirstLineInto (Packable *p, bool full_uri) const
virtual bool sanityCheckStartLine (const char *buf, const size_t hdr_len, Http::StatusCode *error)
virtual void hdrCacheInit ()
virtual bool inheritProperties (const Http::Message *)
bool parseHeader (Http1::Parser &, Http::ContentLengthInterpreter &)

Static Private Member Functions

static Mem::AllocatorProxyPool ()

Private Attributes

Adaptation::History::Pointer adaptHistory_
 per-HTTP transaction info More...
Adaptation::Icap::History::Pointer icapHistory_
 per-HTTP transaction info More...
int64_t rangeOffsetLimit
NotePairs::Pointer theNotes

Detailed Description

Definition at line 48 of file HttpRequest.h.

Member Typedef Documentation

◆ Pointer

Definition at line 53 of file HttpRequest.h.

Member Enumeration Documentation

◆ ParseState

enum Http::Message::ParseState

Definition at line 87 of file Message.h.

◆ Sources

enum Http::Message::Sources

https_port or bumped http_port tunnel; HTTPS server


ftps_port or SFTP server; currently unused


Secure ICAP service.


eCAP service that is considered secure; currently unused


http_port or HTTP server


ftp_port or FTP server


traditional ICAP service without encryption


eCAP service that uses insecure libraries/daemons


Gopher server.


Whois server.


Unsafe sources mask.


Safe sources mask.

Definition at line 29 of file Message.h.

Constructor & Destructor Documentation

◆ HttpRequest() [1/2]

HttpRequest::HttpRequest ( const MasterXaction::Pointer mx)

Definition at line 43 of file HttpRequest.cc.

References assert, and init().

Referenced by clone(), and FromUrl().

◆ HttpRequest() [2/2]

HttpRequest::HttpRequest ( const HttpRequestMethod aMethod,
AnyP::ProtocolType  aProtocol,
const char *  schemeImage,
const char *  aUrlpath,
const MasterXaction::Pointer mx 

Definition at line 51 of file HttpRequest.cc.

References assert, debugs, HERE(), init(), and initHTTP().

◆ ~HttpRequest()

HttpRequest::~HttpRequest ( )

Definition at line 62 of file HttpRequest.cc.

References clean(), debugs, and HERE().

Member Function Documentation

◆ adaptHistory()

Adaptation::History::Pointer HttpRequest::adaptHistory ( bool  createIfNone = false) const

◆ adaptHistoryImport()

void HttpRequest::adaptHistoryImport ( const HttpRequest them)

Definition at line 422 of file HttpRequest.cc.

References adaptHistory_, and Must.

◆ adaptLogHistory()

Adaptation::History::Pointer HttpRequest::adaptLogHistory ( ) const

Definition at line 416 of file HttpRequest.cc.

References adaptHistory(), and Log::TheConfig.

◆ bodyNibbled()

bool HttpRequest::bodyNibbled ( ) const

◆ canHandle1xx()

bool HttpRequest::canHandle1xx ( ) const

◆ canonicalCleanUrl()

char * HttpRequest::canonicalCleanUrl ( ) const
a pointer to a local static buffer containing request URI that honors strip_query_terms and %-encodes unsafe URI characters

Definition at line 758 of file HttpRequest.cc.

References effectiveRequestUri(), AnyP::Uri::getScheme(), method, url, and urlCanonicalCleanWithoutRequest().

Referenced by ClientHttpRequest::setLogUriToRequestUri().

◆ clean()

◆ clearError()

void HttpRequest::clearError ( )

Definition at line 466 of file HttpRequest.cc.

References Error::clear(), debugs, and error.

Referenced by FwdState::connectStart().

◆ clone()

◆ conditional()

bool HttpRequest::conditional ( ) const

◆ configureContentLengthInterpreter()

virtual void HttpRequest::configureContentLengthInterpreter ( Http::ContentLengthInterpreter )

Implements Http::Message.

Definition at line 249 of file HttpRequest.h.

◆ detailError()

◆ effectiveRequestUri()

◆ expectingBody()

bool HttpRequest::expectingBody ( const HttpRequestMethod unused,
int64_t &  theSize 
) const

◆ firstLineBuf()

void Http::Message::firstLineBuf ( MemBuf mb)

Definition at line 295 of file Message.cc.

◆ FromUrl()

◆ FromUrlXXX()

◆ getRangeOffsetLimit()

◆ hasNotes()

bool HttpRequest::hasNotes ( ) const

Definition at line 247 of file HttpRequest.h.

References NotePairs::empty(), and theNotes.

◆ hdrCacheInit()

void HttpRequest::hdrCacheInit ( )

Reimplemented from Http::Message.

Definition at line 380 of file HttpRequest.cc.

References assert, HttpHeader::getRange(), Http::Message::hdrCacheInit(), Http::Message::header, and range.

Referenced by clone().

◆ httpMsgParseError()

int Http::Message::httpMsgParseError ( )

Reimplemented in HttpReply.

Definition at line 246 of file Message.cc.

Referenced by HttpReply::httpMsgParseError().

◆ httpMsgParseStep()

int Http::Message::httpMsgParseStep ( const char *  buf,
int  len,
int  atEnd 

parses a 0-terminated buffer into Http::Message.

Return values
0need more data (partial parse)
-1parse error

Definition at line 170 of file Message.cc.

References assert, buf, httpMsgIsolateStart(), len, PROF_start, PROF_stop, Http::Message::psParsed, Http::Message::psReadyToParseHeaders, and Http::Message::psReadyToParseStartLine.

◆ httpRequestPack()

static void HttpRequest::httpRequestPack ( void *  obj,
Packable p 

◆ icapHistory()

◆ ignoreRange()

void HttpRequest::ignoreRange ( const char *  reason)

◆ inheritProperties()

◆ init()

◆ initHTTP()

void HttpRequest::initHTTP ( const HttpRequestMethod aMethod,
AnyP::ProtocolType  aProtocol,
const char *  schemeImage,
const char *  aUrlpath 

Definition at line 69 of file HttpRequest.cc.

References method, AnyP::Uri::path(), AnyP::Uri::setScheme(), and url.

Referenced by HttpRequest().

◆ manager()

◆ maybeCacheable()

bool HttpRequest::maybeCacheable ( )

Whether response to this request is potentially cachable

Return values
falseNot cacheable.
truePossibly cacheable. Response factors will determine.

Are responses to this request possible cacheable ? If false then no matter what the response must not be cached.

Definition at line 539 of file HttpRequest.cc.

References Http::Message::cache_control, flags, AnyP::Uri::getScheme(), gopherCachable(), HttpHdrCc::hasNoStore(), RequestFlags::hostVerified, RequestFlags::ignoreCc, RequestFlags::intercepted, RequestFlags::interceptTproxy, method, AnyP::PROTO_CACHE_OBJECT, AnyP::PROTO_GOPHER, AnyP::PROTO_HTTP, AnyP::PROTO_HTTPS, HttpRequestMethod::respMaybeCacheable(), and url.

Referenced by clientInterpretRequestHeaders().

◆ multipartRangeRequest()

bool HttpRequest::multipartRangeRequest ( ) const

◆ notes()

NotePairs::Pointer HttpRequest::notes ( )
existing non-empty transaction annotations, creates and returns empty annotations otherwise

Definition at line 696 of file HttpRequest.cc.

References theNotes.

Referenced by ClientHttpRequest::initRequest(), ClientHttpRequest::logRequest(), and AccessLogEntry::syncNotes().

◆ operator delete()

void HttpRequest::operator delete ( void *  address)

Definition at line 50 of file HttpRequest.h.

◆ operator new()

void* HttpRequest::operator new ( size_t  byteCount)

Definition at line 50 of file HttpRequest.h.

◆ pack()

◆ packFirstLineInto()

void HttpRequest::packFirstLineInto ( Packable p,
bool  full_uri 
) const

◆ packInto()

void Http::Message::packInto ( Packable p,
bool  full_uri 
) const

Definition at line 278 of file Message.cc.

References Packable::append().

◆ parse()

bool Http::Message::parse ( const char *  buf,
const size_t  sz,
bool  eol,
Http::StatusCode error 

◆ parseCharBuf()

bool Http::Message::parseCharBuf ( const char *  buf,
ssize_t  end 

parseCharBuf() takes character buffer of HTTP headers (buf), which may not be NULL-terminated, and fills in an Http::Message structure. The parameter 'end' specifies the offset to the end of the reply headers. The caller may know where the end is, but is unable to NULL-terminate the buffer. This function returns true on success.

Definition at line 148 of file Message.cc.

References MemBuf::append(), MemBuf::buf, buf, MemBuf::clean(), MemBuf::init(), MemBuf::size, and MemBuf::terminate().

Referenced by store_client::readBody(), and urnHandleReply().

◆ parseFirstLine()

bool HttpRequest::parseFirstLine ( const char *  start,
const char *  end 

◆ parseHeader() [1/3]

bool HttpRequest::parseHeader ( const char *  buffer,
const size_t  size 

Parses request header from the buffer. Use it in contexts where the Parser object not available.

Definition at line 662 of file HttpRequest.cc.

References Http::Message::header, HttpHeader::parse(), and size.

◆ parseHeader() [2/3]

◆ parseHeader() [3/3]

bool HttpRequest::parseHeader ( Http1::Parser hp)

Parses request header using Parser. Use it in contexts where the Parser object is available.

Definition at line 655 of file HttpRequest.cc.

Referenced by htcpSpecifier::checkHit().

◆ persistent()

bool Http::Message::persistent ( ) const
Return values
truethe message sender asks to keep the connection open.
falsethe message sender will close the connection.

Factors other than the headers may result in connection closure.

Definition at line 261 of file Message.cc.

References httpHeaderHasConnDir(), and Http::ProtocolVersion().

Referenced by clientReplyContext::buildReplyHeader(), HttpReply::hdrCacheInit(), and HttpStateData::sendRequest().

◆ pinnedConnection()

◆ Pool()

static Mem::AllocatorProxy& HttpRequest::Pool ( )

Definition at line 50 of file HttpRequest.h.

◆ prefixLen()

◆ prepForDirect()

void HttpRequest::prepForDirect ( )

◆ prepForPeering()

◆ putCc()

void Http::Message::putCc ( const HttpHdrCc otherCc)

Definition at line 34 of file Message.cc.

References Http::CACHE_CONTROL.

Referenced by HttpReply::make304().

◆ recordLookup()

◆ reset()

void HttpRequest::reset ( )

Implements Http::Message.

Definition at line 169 of file HttpRequest.cc.

References clean(), and init().

◆ sanityCheckStartLine()

bool HttpRequest::sanityCheckStartLine ( const char *  buf,
const size_t  hdr_len,
Http::StatusCode scode 

Checks the first line of an HTTP request is valid currently just checks the request method is present.

NP: Other errors are left for detection later in the parse.

Implements Http::Message.

Definition at line 269 of file HttpRequest.cc.

References buf, debugs, HERE(), HttpRequestMethod::HttpRequestMethodXXX(), Http::METHOD_NONE, and Http::scInvalidHeader.

Referenced by PrivateHttpRequest::doSanityCheckStartLine().

◆ setContentLength()

void Http::Message::setContentLength ( int64_t  clen)

Definition at line 253 of file Message.cc.

References Http::CONTENT_LENGTH.

◆ storeId()

const SBuf HttpRequest::storeId ( )

Returns the current StoreID for the request as a nul-terminated char*. Always returns the current id for the request (either the effective request URI or modified ID by the helper).

Definition at line 677 of file HttpRequest.cc.

References debugs, effectiveRequestUri(), String::size(), store_id, and StringToSBuf().

Referenced by clientReplyContext::cacheHit(), ClientHttpRequest::doCallouts(), and storeSwapMetaBuild().

◆ swapOut()

void HttpRequest::swapOut ( StoreEntry e)

Definition at line 335 of file HttpRequest.cc.

References assert, StoreEntry::buffer(), StoreEntry::flush(), and pack().

Referenced by clientReplyContext::traceReply().

◆ UseCount()

static int HttpRequest::UseCount ( )

Definition at line 50 of file HttpRequest.h.

Member Data Documentation

◆ adaptHistory_

Adaptation::History::Pointer HttpRequest::adaptHistory_

Definition at line 119 of file HttpRequest.h.

Referenced by adaptHistory(), adaptHistoryImport(), clean(), inheritProperties(), and init().

◆ auth_user_request

◆ body_pipe

◆ cache_control

◆ client_addr

◆ clientConnectionManager

◆ content_length

◆ dnsWait

int HttpRequest::dnsWait

Definition at line 159 of file HttpRequest.h.

Referenced by Format::Format::assemble(), inheritProperties(), init(), and recordLookup().

◆ downloader

CbcPointer<Downloader> HttpRequest::downloader

Definition at line 235 of file HttpRequest.h.

Referenced by inheritProperties().

◆ error

◆ etag

◆ extacl_log

String HttpRequest::extacl_log

Definition at line 182 of file HttpRequest.h.

Referenced by Format::Format::assemble(), clean(), clone(), copyResultsFromEntry(), and init().

◆ extacl_message

String HttpRequest::extacl_message

◆ extacl_passwd

String HttpRequest::extacl_passwd

Definition at line 180 of file HttpRequest.h.

Referenced by clean(), copyResultsFromEntry(), inheritProperties(), and init().

◆ extacl_user

◆ flags

RequestFlags HttpRequest::flags

Definition at line 141 of file HttpRequest.h.

Referenced by HttpStateData::HttpStateData(), Ssl::ServerBump::ServerBump(), clientReplyContext::buildReplyHeader(), HttpStateData::buildRequestPrefix(), clientReplyContext::cacheHit(), ClientRequestContext::checkNoCacheDone(), CheckQuickAbortIsReasonable(), FwdState::checkRetry(), clientReplyContext::checkTransferDone(), ClientRequestContext::clientAccessCheck(), ClientRequestContext::clientAccessCheckDone(), TunnelStateData::clientExpectsConnectResponse(), ClientRequestContext::clientRedirectDone(), FwdState::completed(), conditional(), HttpStateData::continueAfterParsingHeader(), HttpStateData::decideIfWeDoRanges(), FwdState::dispatch(), ClientHttpRequest::doCallouts(), errorAppendEntry(), ClientHttpRequest::handleAdaptedHeader(), clientReplyContext::handleIMSReply(), Http::One::Server::handleReply(), ClientRequestContext::hostHeaderIpVerify(), ClientRequestContext::hostHeaderVerify(), ClientRequestContext::hostHeaderVerifyFailed(), HttpStateData::httpBuildRequestHeader(), httpMaybeRemovePublic(), clientReplyContext::identifyFoundObject(), clientReplyContext::identifyStoreObject(), inheritProperties(), init(), HappyConnOpener::makeError(), manager(), ACLDestinationIP::match(), ACLDestinationASNStrategy::match(), ACLProxyAuth::matchProxyAuth(), maybeCacheable(), netdbExchangeStart(), ErrorState::NewForwarding(), FwdState::noteConnection(), PeerSelector::noteIp(), peerDigestRequest(), HttpStateData::peerSupportsConnectionPinning(), FwdState::pinnedCanRetry(), prepForDirect(), prepForPeering(), clientReplyContext::processConditional(), clientReplyContext::processExpired(), clientReplyContext::processMiss(), HttpStateData::processReplyBody(), HttpStateData::processReplyHeader(), ClientHttpRequest::processRequest(), HttpStateData::processSurrogateControl(), FwdState::reforward(), clientReplyContext::replyStatus(), PeerSelector::resolveSelected(), HttpStateData::reusableReply(), FwdState::secureConnectionToPeer(), FwdState::secureConnectionToPeerIfNeeded(), PeerSelector::selectMore(), clientReplyContext::sendNotModified(), HttpStateData::sendRequest(), clientReplyContext::sendStreamError(), clientReplyContext::setReplyToError(), ClientRequestContext::sslBumpAccessCheck(), ClientHttpRequest::sslBumpStart(), FwdState::Start(), FwdState::start(), HappyConnOpener::startConnecting(), FwdState::usePinned(), and TunnelStateData::usePinned().

◆ forcedBodyContinuation

bool HttpRequest::forcedBodyContinuation

Definition at line 194 of file HttpRequest.h.

Referenced by HttpStateData::handle1xx(), inheritProperties(), and init().

◆ hdr_sz

◆ header

HttpHeader Http::Message::header

Definition at line 75 of file Message.h.

Referenced by StoreEntry::adjustVary(), Ftp::Gateway::appendSuccessHeader(), Format::Format::assemble(), HttpStateData::blockSwitchingProtocols(), ErrorState::BuildHttpReply(), Http::Stream::buildRangeHeader(), clientReplyContext::buildReplyHeader(), ESIVarState::buildVary(), canHandle1xx(), HttpReply::clean(), clean(), ClientRequestContext::clientAccessCheck(), clientGetMoreData(), clientIfRangeMatch(), clientIsContentLengthValid(), Adaptation::Ecap::MessageRep::clone(), HttpReply::clone(), clone(), ErrorState::compileLegacyCode(), conditional(), Adaptation::Icap::Options::configure(), Ftp::Relay::createHttpReply(), ErrorState::Dump(), Adaptation::Icap::ModXact::encapsulateHead(), ESIContextNew(), Adaptation::Icap::ModXact::estimateVirginBody(), HttpReply::expectingBody(), expectingBody(), Mgr::Action::fillEntry(), HttpStateData::forwardUpgrade(), Ftp::Gateway::ftpAuthRequired(), ftpSendStor(), gopherMimeCreate(), Ftp::Server::handleFeatReply(), StoreEntry::hasOneOfEtags(), HttpStateData::haveParsedReplyHeaders(), HttpReply::hdrCacheInit(), hdrCacheInit(), HttpReply::hdrExpirationTime(), ClientRequestContext::hostHeaderVerify(), ClientRequestContext::hostHeaderVerifyFailed(), HttpStateData::httpBuildRequestHeader(), Log::Format::HttpdCombined(), httpMakeVaryMark(), Ftp::HttpReplyWrapper(), MimeIcon::load(), Ftp::Gateway::loginFailed(), HttpReply::make304(), Adaptation::Icap::ModXact::makeRequestHeaders(), ACLReplyHeaderStrategy< header >::match(), ACLRequestHeaderStrategy< header >::match(), ACLHTTPRepHeaderStrategy::match(), ACLHTTPReqHeaderStrategy::match(), pack(), HttpReply::packHeadersUsingFastPacker(), parseHeader(), Adaptation::Icap::OptXact::parseResponse(), peerDigestRequest(), prefixLen(), Adaptation::Icap::ModXact::prepEchoing(), Ftp::PrintReply(), clientReplyContext::processConditional(), clientReplyContext::processExpired(), HttpStateData::processReplyHeader(), purgeEntriesByHeader(), HttpReply::recreateOnNotModified(), HttpReply::redirect(), HttpReply::removeIrrelevantContentLength(), HttpReply::removeStaleWarnings(), HttpStateData::reusableReply(), HttpReply::setHeaders(), UrnState::setUriResFromRequest(), Log::Format::SquidReferer(), Log::Format::SquidUserAgent(), Mgr::Inquirer::start(), CacheManager::start(), HttpStateData::statusIfComplete(), urlCheckRequest(), urnHandleReply(), Adaptation::Ecap::XactionRep::useAdapted(), Adaptation::Ecap::XactionRep::useVirgin(), HttpReply::validatorsMatch(), varyEvaluateMatch(), Http::One::Server::writeControlMsgAndCall(), Ftp::Server::writeCustomReply(), Ftp::Server::writeErrorReply(), Ftp::Server::writeForwardedReply(), and Ftp::Server::writeForwardedReplyAndCall().

◆ hier

◆ http_ver

◆ icapHistory_

Adaptation::Icap::History::Pointer HttpRequest::icapHistory_

Definition at line 122 of file HttpRequest.h.

Referenced by clean(), icapHistory(), inheritProperties(), and init().

◆ ims

time_t HttpRequest::ims

◆ imslen

int HttpRequest::imslen

◆ indirect_client_addr

◆ lastmod

◆ masterXaction

◆ method

HttpRequestMethod HttpRequest::method

Definition at line 114 of file HttpRequest.h.

Referenced by Ftp::Gateway::Gateway(), Ssl::ServerBump::ServerBump(), ConnStateData::abortChunkedRequestBody(), asnCacheStart(), Format::Format::assemble(), ErrorState::BuildHttpReply(), HttpStateData::buildRequestPrefix(), clientReplyContext::cacheHit(), canonicalCleanUrl(), FwdState::checkRetriable(), ClientRequestContext::clientAccessCheckDone(), clientGetMoreData(), clientIsContentLengthValid(), clientProcessRequest(), ClientRequestContext::clientRedirectDone(), clone(), ErrorState::compileLegacyCode(), constructHelperQuery(), FwdState::dispatch(), ClientHttpRequest::doCallouts(), clientReplyContext::doGetMoreData(), ErrorState::Dump(), effectiveRequestUri(), Adaptation::Icap::ModXact::encapsulateHead(), esiBufferRecipient(), FromUrl(), FromUrlXXX(), ftpSendPassive(), ClientHttpRequest::gotEnough(), ClientHttpRequest::handleAdaptedHeader(), HttpStateData::haveParsedReplyHeaders(), ClientRequestContext::hostHeaderVerify(), ClientRequestContext::hostHeaderVerifyFailed(), htcpClear(), htcpQuery(), httpStart(), init(), initHTTP(), HttpStateData::keepaliveAccounting(), ACLMethodStrategy::match(), maybeCacheable(), Client::maybePurgeOthers(), FwdState::noteConnection(), pack(), packFirstLineInto(), parseFirstLine(), peerDigestRequest(), HttpStateData::persistentConnStatus(), prefixLen(), clientReplyContext::processExpired(), clientReplyContext::processMiss(), clientReplyContext::processOnlyIfCachedMiss(), clientReplyContext::processReplyAccessResult(), ClientHttpRequest::processRequest(), clientReplyContext::purgeDoPurge(), purgeEntriesByHeader(), clientReplyContext::replyStatus(), FwdState::secureConnectionToPeerIfNeeded(), PeerSelector::selectMore(), PeerSelector::selectSomeParent(), clientReplyContext::sendNotModified(), clientReplyContext::sendNotModifiedOrPreconditionFailedError(), Ftp::Server::setReply(), clientReplyContext::setReplyToReply(), ClientRequestContext::sslBumpAccessCheck(), Client::startAdaptation(), clientReplyContext::startError(), HttpStateData::statusIfComplete(), storeGetPublicByRequest(), switchToTunnel(), testHttpRequest::testCreateFromUrl(), testHttpRequest::testIPv6HostColonBug(), clientReplyContext::traceReply(), HttpStateData::truncateVirginBody(), tunnelStart(), urlCheckRequest(), and urnHandleReply().

◆ my_addr

◆ myportname

String HttpRequest::myportname

Definition at line 174 of file HttpRequest.h.

Referenced by clean(), inheritProperties(), init(), manager(), and ACLMyPortNameStrategy::match().

◆ peer_domain

char* HttpRequest::peer_domain

◆ peer_host

char* HttpRequest::peer_host

◆ peer_login

char* HttpRequest::peer_login

Definition at line 163 of file HttpRequest.h.

Referenced by init(), prepForDirect(), and prepForPeering().

◆ pstate

ParseState Http::Message::pstate = Http::Message::psReadyToParseStartLine

Definition at line 95 of file Message.h.

Referenced by HttpReply::clone(), clone(), HttpReply::init(), and init().

◆ range

◆ rangeOffsetLimit

int64_t HttpRequest::rangeOffsetLimit

Definition at line 259 of file HttpRequest.h.

Referenced by getRangeOffsetLimit(), and init().

◆ sources

◆ store_id

String HttpRequest::store_id

If defined, store_id_program mapped the request URL to this ID. Store uses this ID (and not the URL) to find and store entries, avoiding caching duplicate entries when different URLs point to "essentially the same" cachable resource.

Definition at line 139 of file HttpRequest.h.

Referenced by ClientRequestContext::clientStoreIdDone(), and storeId().

◆ tag

◆ theNotes

NotePairs::Pointer HttpRequest::theNotes

annotations added by the note directive and helpers and(or) by annotate_transaction/annotate_client ACLs.

Definition at line 263 of file HttpRequest.h.

Referenced by clean(), hasNotes(), inheritProperties(), and notes().

◆ url

AnyP::Uri HttpRequest::url

Definition at line 115 of file HttpRequest.h.

Referenced by Ssl::ServerBump::ServerBump(), Http::Tunneler::Tunneler(), asnCacheStart(), Format::Format::assemble(), HttpStateData::buildRequestPrefix(), clientReplyContext::cacheHit(), canonicalCleanUrl(), HttpStateData::checkDateSkew(), DestinationIPLookup::checkForAsync(), PeerSelector::checkNetdbDirect(), clean(), ClientRequestContext::clientRedirectDone(), clone(), ErrorState::compileLegacyCode(), TunnelStateData::connectDone(), FwdState::connectStart(), HttpStateData::continueAfterParsingHeader(), FwdState::dispatch(), doV2Query(), ErrorState::Dump(), effectiveRequestUri(), Adaptation::Icap::ModXact::encapsulateHead(), FromUrl(), FromUrlXXX(), ftpFail(), ftpReadType(), ftpSendType(), ftpSendUser(), ftpTrySlashHack(), TunnelStateData::getHost(), gopher_request_parse(), gopherSendComplete(), PeerSelector::handleHtcpParentMiss(), PeerSelector::handleIcpParentMiss(), ClientRequestContext::hostHeaderVerify(), htcpTstReply(), HttpStateData::httpBuildRequestHeader(), clientReplyContext::identifyFoundObject(), init(), initHTTP(), ConnStateData::initiateTunneledRequest(), ACLDestinationIP::match(), ACLUrlLoginStrategy::match(), ACLUrlPathStrategy::match(), ACLDestinationASNStrategy::match(), ACLDestinationDomainStrategy::match(), ACLProtocolStrategy::match(), ACLServerNameStrategy::match(), ACLUrlPortStrategy::match(), maybeCacheable(), neighborsHtcpReply(), neighborsUdpAck(), netdbExchangeStart(), FwdState::noteConnection(), TunnelStateData::noteConnection(), PeerSelector::noteIp(), PeerSelector::noteIps(), operator<<(), pack(), packFirstLineInto(), parseFirstLine(), peerDigestRequest(), prefixLen(), HttpStateData::processReplyBody(), HttpStateData::processReplyHeader(), purgeEntriesByHeader(), clientReplyContext::purgeRequest(), PeerSelector::resolveSelected(), FwdState::secureConnectionToPeerIfNeeded(), PeerSelector::selectAllParents(), PeerSelector::selectMore(), PeerSelector::selectSomeDirect(), PeerSelector::selectSomeNeighbor(), PeerSelector::selectSomeParent(), HttpStateData::sendRequest(), UrnState::setUriResFromRequest(), PeerPoolMgr::start(), FwdState::Start(), TunnelStateData::startConnecting(), FwdState::successfullyConnectedToPeer(), testHttpRequest::testCreateFromUrl(), testHttpRequest::testIPv6HostColonBug(), urlCheckRequest(), FwdState::usePinned(), TunnelStateData::usePinned(), Adaptation::Service::wants(), and whoisStart().

◆ vary_headers

SBuf HttpRequest::vary_headers

◆ x_forwarded_for_iterator

String HttpRequest::x_forwarded_for_iterator

Definition at line 187 of file HttpRequest.h.

Referenced by ClientRequestContext::clientAccessCheck().

The documentation for this class was generated from the following files:






Web Site Translations