#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,
  psReadyToParseHeaders,
  psParsed,
  psError
}
 parse state of HttpReply or HttpRequest More...
 

Public Member Functions

 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...
 
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 recordLookup (const Dns::LookupDetails &detail)
 
void detailError (err_type aType, int aDetail)
 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
 
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 ()
 
bool parseHeader (Http1::Parser &)
 
void firstLineBuf (MemBuf &)
 useful for debugging More...
 

Static Public Member Functions

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

Public Attributes

HttpRequestMethod method
 
URL url
 the request URI More...
 
Auth::UserRequest::Pointer auth_user_request
 
String store_id
 
RequestFlags flags
 
HttpHdrRangerange
 
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...
 
err_type errType
 
int errDetail
 errType-specific detail about the transaction error 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 *)
 

Private Member Functions

 MEMPROXY_CLASS (HttpRequest)
 

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 47 of file HttpRequest.h.

Member Typedef Documentation

Definition at line 52 of file HttpRequest.h.

Member Enumeration Documentation

enum Http::Message::ParseState
inherited
Enumerator
psReadyToParseStartLine 
psReadyToParseHeaders 
psParsed 
psError 

Definition at line 86 of file Message.h.

enum Http::Message::Sources
inherited
Enumerator
srcUnknown 
srcHttps 

https_port or bumped http_port tunnel; HTTPS server

srcFtps 

ftps_port or SFTP server; currently unused

srcIcaps 

Secure ICAP service.

srcEcaps 

eCAP service that is considered secure; currently unused

srcHttp 

http_port or HTTP server

srcFtp 

ftp_port or FTP server

srcIcap 

traditional ICAP service without encryption

srcEcap 

eCAP service that uses insecure libraries/daemons

srcGopher 

Gopher server.

srcWhois 

Whois server.

srcUnsafe 

Unsafe sources mask.

srcSafe 

Safe sources mask.

Definition at line 28 of file Message.h.

Constructor & Destructor Documentation

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

Definition at line 42 of file HttpRequest.cc.

References assert, and init().

Referenced by clone(), and FromUrl().

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

Definition at line 50 of file HttpRequest.cc.

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

HttpRequest::~HttpRequest ( )

Definition at line 61 of file HttpRequest.cc.

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

Member Function Documentation

void HttpRequest::adaptHistoryImport ( const HttpRequest them)

Definition at line 431 of file HttpRequest.cc.

References adaptHistory_, and Must.

bool HttpRequest::bodyNibbled ( ) const
bool HttpRequest::canHandle1xx ( ) const
void HttpRequest::clearError ( )
bool HttpRequest::conditional ( ) const
bool HttpRequest::expectingBody ( const HttpRequestMethod unused,
int64_t &  theSize 
) const
virtual
void Http::Message::firstLineBuf ( MemBuf mb)
inherited

Definition at line 291 of file Message.cc.

bool HttpRequest::hasNotes ( ) const
inline

Definition at line 233 of file HttpRequest.h.

References NotePairs::empty(), and theNotes.

Referenced by Http::One::Server::buildHttpRequest().

void HttpRequest::hdrCacheInit ( )
protectedvirtual

Reimplemented from Http::Message.

Definition at line 389 of file HttpRequest.cc.

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

Referenced by clone().

int Http::Message::httpMsgParseError ( )
virtualinherited

Reimplemented in HttpReply.

Definition at line 242 of file Message.cc.

Referenced by HttpReply::httpMsgParseError().

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

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

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

Definition at line 169 of file Message.cc.

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

Referenced by MemStore::copyFromShmSlice().

static void HttpRequest::httpRequestPack ( void *  obj,
Packable p 
)
static
void HttpRequest::initHTTP ( const HttpRequestMethod aMethod,
AnyP::ProtocolType  aProtocol,
const char *  schemeImage,
const char *  aUrlpath 
)

Definition at line 68 of file HttpRequest.cc.

References method, URL::path(), URL::setScheme(), and url.

Referenced by HttpRequest().

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 538 of file HttpRequest.cc.

References Http::Message::cache_control, flags, URL::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().

HttpRequest::MEMPROXY_CLASS ( HttpRequest  )
private
bool HttpRequest::multipartRangeRequest ( ) const
NotePairs::Pointer HttpRequest::notes ( )
Returns
existing non-empty transaction annotations, creates and returns empty annotations otherwise

Definition at line 681 of file HttpRequest.cc.

References theNotes.

Referenced by Http::One::Server::buildHttpRequest(), ClientHttpRequest::doCallouts(), ClientHttpRequest::logRequest(), AccessLogEntry::syncNotes(), and UpdateRequestNotes().

void HttpRequest::packFirstLineInto ( Packable p,
bool  full_uri 
) const
protectedvirtual
void Http::Message::packInto ( Packable p,
bool  full_uri 
) const
inherited

Definition at line 274 of file Message.cc.

References Packable::append().

Referenced by Adaptation::Icap::ModXact::packHead().

bool Http::Message::parse ( const char *  buf,
const size_t  sz,
bool  eol,
Http::StatusCode error 
)
inherited
bool Http::Message::parseCharBuf ( const char *  buf,
ssize_t  end 
)
inherited

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 147 of file Message.cc.

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

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

bool HttpRequest::parseFirstLine ( const char *  start,
const char *  end 
)
virtual
bool Http::Message::persistent ( ) const
inherited
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 257 of file Message.cc.

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

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

int HttpRequest::prefixLen ( ) const
void Http::Message::putCc ( const HttpHdrCc otherCc)
inherited

Definition at line 33 of file Message.cc.

References Http::CACHE_CONTROL.

Referenced by HttpReply::make304().

void HttpRequest::reset ( )
virtual

Implements Http::Message.

Definition at line 169 of file HttpRequest.cc.

References clean(), and init().

bool HttpRequest::sanityCheckStartLine ( const char *  buf,
const size_t  hdr_len,
Http::StatusCode error 
)
protectedvirtual

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 270 of file HttpRequest.cc.

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

Referenced by PrivateHttpRequest::doSanityCheckStartLine().

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

Definition at line 249 of file Message.cc.

References Http::CONTENT_LENGTH.

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 662 of file HttpRequest.cc.

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

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

void HttpRequest::swapOut ( StoreEntry e)

Definition at line 344 of file HttpRequest.cc.

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

Referenced by clientReplyContext::traceReply().

Member Data Documentation

Adaptation::History::Pointer HttpRequest::adaptHistory_
mutableprivate

Definition at line 107 of file HttpRequest.h.

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

int HttpRequest::dnsWait
CbcPointer<Downloader> HttpRequest::downloader

Definition at line 221 of file HttpRequest.h.

Referenced by Downloader::buildRequest(), and inheritProperties().

String HttpRequest::extacl_log

Definition at line 171 of file HttpRequest.h.

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

String HttpRequest::extacl_message

Definition at line 173 of file HttpRequest.h.

Referenced by clean(), clone(), ErrorState::Convert(), copyResultsFromEntry(), and init().

RequestFlags HttpRequest::flags

Definition at line 129 of file HttpRequest.h.

Referenced by StoreEntry::adjustVary(), Format::Format::assemble(), AuthenticateAcl(), clientReplyContext::buildReplyHeader(), HttpStateData::buildRequestPrefix(), clientReplyContext::cacheHit(), ClientRequestContext::checkNoCacheDone(), CheckQuickAbortIsReasonable(), clientReplyContext::checkTransferDone(), ClientRequestContext::clientAccessCheck(), ClientRequestContext::clientAccessCheckDone(), clientBeginRequest(), clientCheckPinning(), TunnelStateData::clientExpectsConnectResponse(), clientFollowXForwardedForCheck(), clientHierarchical(), clientInterpretRequestHeaders(), clientProcessRequest(), clientProcessRequestFinished(), ClientRequestContext::clientRedirectDone(), clientSetKeepaliveFlag(), FwdState::completed(), conditional(), FwdState::connectDone(), FwdState::connectStart(), HttpStateData::continueAfterParsingHeader(), copyOneHeaderFromClientsideRequestToUpstreamRequest(), HttpStateData::decideIfWeDoRanges(), FwdState::dispatch(), ClientHttpRequest::doCallouts(), errorAppendEntry(), getOutgoingAddress(), ClientHttpRequest::handleAdaptedHeader(), clientReplyContext::handleIMSReply(), Http::One::Server::handleReply(), StoreEntry::hasIfNoneMatchEtag(), ClientRequestContext::hostHeaderIpVerify(), ClientRequestContext::hostHeaderVerify(), ClientRequestContext::hostHeaderVerifyFailed(), HttpStateData::httpBuildRequestHeader(), httpFixupAuthentication(), httpMaybeRemovePublic(), HttpStateData::HttpStateData(), clientReplyContext::identifyFoundObject(), clientReplyContext::identifyStoreObject(), inheritProperties(), init(), ConnStateData::initiateTunneledRequest(), FwdState::makeConnectingError(), manager(), ACLDestinationASNStrategy::match(), ACLDestinationIP::match(), ACLProxyAuth::matchProxyAuth(), maybeCacheable(), neighborsDigestSelect(), netdbExchangeStart(), ErrorState::NewForwarding(), ps_state::noteIp(), CacheManager::ParseHeaders(), Ftp::Server::parseOneRequest(), peerAllowedToUse(), peerDigestRequest(), peerSelectDnsPaths(), peerSelectFoo(), peerSelectIcpPing(), HttpStateData::peerSupportsConnectionPinning(), peerWouldBePinged(), ConnStateData::pinConnection(), clientReplyContext::processConditional(), clientReplyContext::processExpired(), clientReplyContext::processMiss(), HttpStateData::processReplyBody(), HttpStateData::processReplyHeader(), ClientHttpRequest::processRequest(), HttpStateData::processSurrogateControl(), ConnStateData::quitAfterError(), refreshCheck(), refreshCheckHTTP(), clientReplyContext::replyStatus(), HttpStateData::reusableReply(), clientReplyContext::sendNotModified(), HttpStateData::sendRequest(), clientReplyContext::sendStreamError(), Ssl::ServerBump::ServerBump(), clientReplyContext::setReplyToError(), ClientRequestContext::sslBumpAccessCheck(), ClientHttpRequest::sslBumpStart(), FwdState::Start(), FwdState::start(), ConnStateData::switchToHttps(), switchToTunnel(), tunnelConnectDone(), and tunnelRelayConnectRequest().

bool HttpRequest::forcedBodyContinuation
HttpHeader Http::Message::header
inherited

Definition at line 74 of file Message.h.

Referenced by StoreEntry::adjustVary(), Ftp::Gateway::appendSuccessHeader(), Format::Format::assemble(), assembleVaryKey(), Auth::UserRequest::authenticate(), ConnStateData::buildFakeRequest(), ErrorState::BuildHttpReply(), Http::One::Server::buildHttpRequest(), Http::Stream::buildRangeHeader(), clientReplyContext::buildReplyHeader(), Downloader::buildRequest(), ESIVarState::buildVary(), canHandle1xx(), htcpSpecifier::checkHit(), clean(), HttpReply::clean(), ClientRequestContext::clientAccessCheck(), clientBeginRequest(), clientCheckPinning(), clientGetMoreData(), clientIfRangeMatch(), clientInterpretRequestHeaders(), clientIsContentLengthValid(), clientProcessRequest(), clone(), HttpReply::clone(), Adaptation::Ecap::MessageRep::clone(), conditional(), Adaptation::Icap::Options::configure(), ErrorState::Convert(), MimeIcon::created(), Ftp::Relay::createHttpReply(), ErrorState::Dump(), Adaptation::Icap::ModXact::encapsulateHead(), ESIContextNew(), Adaptation::Icap::ModXact::estimateVirginBody(), HttpReply::expectingBody(), expectingBody(), Mgr::Action::fillEntry(), Adaptation::Icap::ModXact::finalizeLogInfo(), Ftp::Gateway::ftpAuthRequired(), ftpSendStor(), Ssl::ErrorDetailsManager::getErrorDetail(), gopherMimeCreate(), Ftp::Server::handleFeatReply(), Ftp::Server::handleRequest(), StoreEntry::hasIfMatchEtag(), StoreEntry::hasIfNoneMatchEtag(), StoreEntry::hasOneOfEtags(), HttpReply::hdrCacheInit(), hdrCacheInit(), HttpReply::hdrExpirationTime(), ClientRequestContext::hostHeaderVerify(), ClientRequestContext::hostHeaderVerifyFailed(), htcpClrStore(), HttpStateData::httpBuildRequestHeader(), Log::Format::HttpdCombined(), httpMakeVaryMark(), Ftp::HttpReplyWrapper(), TemplateFile::loadFor(), Ftp::Gateway::loginFailed(), HttpReply::make304(), Adaptation::Icap::ModXact::makeRequestHeaders(), ACLHTTPReqHeaderStrategy::match(), ACLHTTPRepHeaderStrategy::match(), ACLRequestHeaderStrategy< header >::match(), ACLReplyHeaderStrategy< header >::match(), pack(), HttpReply::packHeadersInto(), CacheManager::ParseHeaders(), Ftp::Server::parseOneRequest(), Adaptation::Icap::OptXact::parseResponse(), peerDigestRequest(), prefixLen(), prepareLogWithRequestDetails(), Adaptation::Icap::ModXact::prepEchoing(), Ftp::PrintReply(), clientReplyContext::processConditional(), clientReplyContext::processExpired(), Http::One::Server::processParsedRequest(), HttpStateData::processReplyHeader(), purgeEntriesByHeader(), HttpReply::redirect(), HttpReply::removeStaleWarnings(), HttpStateData::reusableReply(), Ftp::Server::setDataCommand(), HttpReply::setHeaders(), UrnState::setUriResFromRequest(), Log::Format::SquidReferer(), Log::Format::SquidUserAgent(), Mgr::Inquirer::start(), CacheManager::Start(), HttpStateData::statusIfComplete(), StoreEntry::timestampsSet(), HttpReply::updateOnNotModified(), urlCheckRequest(), 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().

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

Definition at line 110 of file HttpRequest.h.

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

HttpRequestMethod HttpRequest::method

Definition at line 102 of file HttpRequest.h.

Referenced by ConnStateData::abortChunkedRequestBody(), StoreEntry::adjustVary(), Format::Format::assemble(), ConnStateData::buildFakeRequest(), ErrorState::BuildHttpReply(), Http::One::Server::buildHttpRequest(), clientReplyContext::buildReplyHeader(), Downloader::buildRequest(), HttpStateData::buildRequestPrefix(), clientReplyContext::cacheHit(), FwdState::checkRetriable(), ClientRequestContext::clientAccessCheckDone(), clientGetMoreData(), clientHierarchical(), clientInterpretRequestHeaders(), clientIsContentLengthValid(), clientProcessRequest(), ClientRequestContext::clientRedirectDone(), clientSetKeepaliveFlag(), clone(), FwdState::connectDone(), constructHelperQuery(), ErrorState::Convert(), copyOneHeaderFromClientsideRequestToUpstreamRequest(), FwdState::dispatch(), ClientHttpRequest::doCallouts(), clientReplyContext::doGetMoreData(), ErrorState::Dump(), effectiveRequestUri(), Adaptation::Icap::ModXact::encapsulateHead(), esiBufferRecipient(), HttpReply::expectedBodyTooLarge(), FromUrl(), ftpSendPassive(), Ftp::Gateway::Gateway(), ClientHttpRequest::gotEnough(), ClientHttpRequest::handleAdaptedHeader(), Ftp::Server::handleRequest(), StoreEntry::hasIfNoneMatchEtag(), HttpStateData::haveParsedReplyHeaders(), ClientRequestContext::hostHeaderVerify(), ClientRequestContext::hostHeaderVerifyFailed(), htcpClear(), htcpQuery(), httpStart(), init(), initHTTP(), ConnStateData::initiateTunneledRequest(), HttpStateData::keepaliveAccounting(), ACLMethodStrategy::match(), maybeCacheable(), Client::maybePurgeOthers(), pack(), packFirstLineInto(), parseFirstLine(), CacheManager::ParseHeaders(), peerAllowedToUse(), peerDigestRequest(), peerGetSomeParent(), peerSelect(), peerSelectFoo(), HttpStateData::persistentConnStatus(), prefixLen(), prepareLogWithRequestDetails(), clientReplyContext::processExpired(), clientReplyContext::processMiss(), clientReplyContext::processOnlyIfCachedMiss(), Http::One::Server::processParsedRequest(), clientReplyContext::processReplyAccessResult(), ClientHttpRequest::processRequest(), clientReplyContext::purgeDoPurgeHead(), clientReplyContext::purgeFoundObject(), clientReplyContext::replyStatus(), clientReplyContext::sendNotModified(), clientReplyContext::sendNotModifiedOrPreconditionFailedError(), ConnStateData::serveDelayedError(), Ssl::ServerBump::ServerBump(), Ftp::Server::setReply(), clientReplyContext::setReplyToReply(), ClientRequestContext::sslBumpAccessCheck(), Client::startAdaptation(), clientReplyContext::startError(), HttpStateData::statusIfComplete(), storeGetPublicByRequest(), storeKeyPublicByRequest(), switchToTunnel(), testHttpRequest::testCreateFromUrl(), testHttpRequest::testIPv6HostColonBug(), clientReplyContext::traceReply(), HttpStateData::truncateVirginBody(), tunnelStart(), urlCanonicalClean(), urlCanonicalFakeHttps(), urlCheckRequest(), urlMakeAbsolute(), and urnHandleReply().

String HttpRequest::myportname
char* HttpRequest::peer_host
ParseState Http::Message::pstate = Http::Message::psReadyToParseStartLine
inherited

Definition at line 94 of file Message.h.

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

int64_t HttpRequest::rangeOffsetLimit
mutableprivate

Definition at line 236 of file HttpRequest.h.

Referenced by getRangeOffsetLimit(), and init().

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 127 of file HttpRequest.h.

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

NotePairs::Pointer HttpRequest::theNotes
private

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

Definition at line 240 of file HttpRequest.h.

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

URL HttpRequest::url

Definition at line 103 of file HttpRequest.h.

Referenced by Format::Format::assemble(), ConnStateData::buildFakeRequest(), Http::One::Server::buildHttpRequest(), Downloader::buildRequest(), HttpStateData::buildRequestPrefix(), clientReplyContext::cacheHit(), carpSelectParent(), HttpStateData::checkDateSkew(), DestinationIPLookup::checkForAsync(), clean(), clientHierarchical(), clientInterpretRequestHeaders(), clientProcessRequest(), ClientRequestContext::clientRedirectDone(), clone(), FwdState::connectDone(), FwdState::connectStart(), HttpStateData::continueAfterParsingHeader(), ErrorState::Convert(), copyOneHeaderFromClientsideRequestToUpstreamRequest(), ICP2State::created(), FwdState::dispatch(), doV2Query(), ErrorState::Dump(), effectiveRequestUri(), Adaptation::Icap::ModXact::encapsulateHead(), FromUrl(), ftpFail(), ftpReadType(), ftpSendType(), ftpSendUser(), ftpTrySlashHack(), getDefaultParent(), getFirstUpParent(), TunnelStateData::getHost(), getRoundRobinParent(), getWeightedRoundRobinParent(), gopher_request_parse(), gopherSendComplete(), ClientRequestContext::hostHeaderVerify(), HttpStateData::httpBuildRequestHeader(), clientReplyContext::identifyFoundObject(), init(), initHTTP(), ConnStateData::initiateTunneledRequest(), internalStart(), ACLUrlPortStrategy::match(), ACLUrlPathStrategy::match(), ACLProtocolStrategy::match(), ACLUrlLoginStrategy::match(), ACLDestinationASNStrategy::match(), ACLDestinationDomainStrategy::match(), ACLServerNameStrategy::match(), ACLDestinationIP::match(), maybeCacheable(), neighborsHtcpReply(), neighborsUdpAck(), neighborsUdpPing(), netdbClosestParent(), netdbExchangeStart(), ps_state::noteIp(), ps_state::noteIps(), pack(), packFirstLineInto(), parseFirstLine(), peerAllowedToUse(), peerCheckNetdbDirect(), peerDigestRequest(), peerGetAllParents(), peerGetSomeDirect(), peerGetSomeNeighbor(), peerGetSomeNeighborReplies(), peerGetSomeParent(), peerHtcpParentMiss(), peerIcpParentMiss(), peerSelectDnsPaths(), peerSelectFoo(), ConnStateData::pinConnection(), ConnStateData::postHttpsAccept(), prefixLen(), HttpStateData::processReplyBody(), HttpStateData::processReplyHeader(), clientReplyContext::purgeRequest(), HttpStateData::sendRequest(), ConnStateData::serveDelayedError(), Ssl::ServerBump::ServerBump(), UrnState::setUriResFromRequest(), PeerPoolMgr::start(), FwdState::Start(), FwdState::startConnectionOrFail(), ConnStateData::switchToHttps(), ACLFilledChecklist::syncAle(), testHttpRequest::testCreateFromUrl(), testHttpRequest::testIPv6HostColonBug(), urlCanonicalClean(), urlCanonicalFakeHttps(), urlCheckRequest(), urlMakeAbsolute(), Ftp::UrlWith2f(), ConnStateData::validatePinnedConnection(), Adaptation::Service::wants(), and whoisStart().

String HttpRequest::x_forwarded_for_iterator

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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors