#include <RequestFlags.h>

Collaboration diagram for RequestFlags:

Public Member Functions

RequestFlags cloneAdaptationImmune () const
bool doneFollowXff () const
bool noCacheHack () const
void disableCacheUse (const char *reason)

Public Attributes

bool noCache = false
bool ims = false
bool auth = false
bool auth_no_keytab = false
SupportOrVeto cachable
 whether the response may be stored in the cache More...
bool hierarchical = false
bool loopDetected = false
bool proxyKeepalive = false
bool refresh = false
bool redirected = false
bool needValidation = false
bool failOnValidationError = false
bool staleIfHit = false
bool nocacheHack = false
bool accelerated = false
bool ignoreCc = false
bool intercepted = false
bool hostVerified = false
bool interceptTproxy = false
 Set for requests handled by a "tproxy" port. More...
bool spoofClientIp = false
bool internal = false
bool mustKeepalive = false
bool connectionAuth = false
bool connectionAuthDisabled = false
bool connectionProxyAuth = false
bool pinned = false
bool authSent = false
bool noDirect = false
bool chunkedReply = false
bool streamError = false
bool sslPeek = false
bool done_follow_x_forwarded_for = false
bool sslBumped = false
bool ftpNative = false
 carries a representation of an FTP command [received on ftp_port] More...
bool destinationIpLookedUp = false
bool resetTcp = false
bool isRanged = false
bool forceTunnel = false
 whether to forward via TunnelStateData (instead of FwdState) More...

Detailed Description

request-related flags

Contains both flags marking a request's current state, and flags requesting some processing to be done at a later stage. TODO: better distinguish the two cases.

Definition at line 22 of file RequestFlags.h.

Member Function Documentation

◆ cloneAdaptationImmune()

RequestFlags RequestFlags::cloneAdaptationImmune ( ) const

clone the flags, resetting to default those which are not safe in a related (e.g. ICAP-adapted) request.

Definition at line 21 of file RequestFlags.cc.

Referenced by HttpRequest::inheritProperties().

◆ disableCacheUse()

void RequestFlags::disableCacheUse ( const char *  reason)

ban satisfying the request from the cache and ban storing the response in the cache

reasonsummarizes the marking decision context (for debugging)

Definition at line 30 of file RequestFlags.cc.

References cachable, debugs, noCache, and SupportOrVeto::veto().

Referenced by ClientHttpRequest::checkForInternalAccess(), ClientRequestContext::checkNoCacheDone(), and Ftp::Server::setReply().

◆ doneFollowXff()

bool RequestFlags::doneFollowXff ( ) const

Definition at line 128 of file RequestFlags.h.

References done_follow_x_forwarded_for.

Referenced by ClientRequestContext::clientAccessCheck().

◆ noCacheHack()

bool RequestFlags::noCacheHack ( ) const

Member Data Documentation

◆ accelerated

◆ auth

◆ auth_no_keytab

bool RequestFlags::auth_no_keytab = false

do not use keytabs for peer Kerberos authentication

Definition at line 32 of file RequestFlags.h.

Referenced by httpFixupAuthentication(), HttpRequest::prepForDirect(), and HttpRequest::prepForPeering().

◆ authSent

bool RequestFlags::authSent = false

Authentication was already sent upstream (e.g. due tcp-level auth)

Definition at line 94 of file RequestFlags.h.

Referenced by HttpStateData::buildRequestPrefix(), HttpStateData::processReplyBody(), and HttpStateData::reusableReply().

◆ cachable

◆ chunkedReply

bool RequestFlags::chunkedReply = false

Reply with chunked transfer encoding

Definition at line 99 of file RequestFlags.h.

Referenced by clientReplyContext::buildReplyHeader(), clientReplyContext::checkTransferDone(), and Http::One::Server::handleReply().

◆ connectionAuth

bool RequestFlags::connectionAuth = false

◆ connectionAuthDisabled

bool RequestFlags::connectionAuthDisabled = false

set if connection oriented auth can not be supported

Definition at line 87 of file RequestFlags.h.

Referenced by clientReplyContext::buildReplyHeader(), clientCheckPinning(), and HttpStateData::processReplyHeader().

◆ connectionProxyAuth

bool RequestFlags::connectionProxyAuth = false

Request wants connection oriented auth

Definition at line 90 of file RequestFlags.h.

Referenced by clientCheckPinning().

◆ destinationIpLookedUp

bool RequestFlags::destinationIpLookedUp = false

Definition at line 113 of file RequestFlags.h.

Referenced by ACLDestinationIP::match().

◆ done_follow_x_forwarded_for

bool RequestFlags::done_follow_x_forwarded_for = false

set if X-Forwarded-For checking is complete

do not read directly; use doneFollowXff for reading

Definition at line 108 of file RequestFlags.h.

Referenced by clientFollowXForwardedForCheck(), and doneFollowXff().

◆ failOnValidationError

bool RequestFlags::failOnValidationError = false

whether we should fail if validation fails

Definition at line 52 of file RequestFlags.h.

Referenced by clientReplyContext::handleIMSReply(), and refreshCheck().

◆ forceTunnel

◆ ftpNative

bool RequestFlags::ftpNative = false

Definition at line 112 of file RequestFlags.h.

Referenced by FwdState::dispatch(), and FwdState::start().

◆ hierarchical

bool RequestFlags::hierarchical = false

◆ hostVerified

bool RequestFlags::hostVerified = false

◆ ignoreCc

bool RequestFlags::ignoreCc = false

if set, ignore Cache-Control headers

Definition at line 64 of file RequestFlags.h.

Referenced by clientInterpretRequestHeaders(), HttpRequest::manager(), HttpRequest::maybeCacheable(), and refreshCheck().

◆ ims

◆ intercepted

◆ interceptTproxy

◆ internal

bool RequestFlags::internal = false

whether the request targets a /squid-internal- resource (e.g., a MIME icon or a cache manager page) served by this Squid instance TODO: Rename to avoid a false implication that this flag is true for requests for /squid-internal- resources served by other Squid instances.

Definition at line 80 of file RequestFlags.h.

Referenced by clientReplyContext::blockedHit(), clientReplyContext::cacheHit(), ClientHttpRequest::checkForInternalAccess(), ClientRequestContext::hostHeaderVerify(), clientReplyContext::identifyStoreObject(), internalStart(), and FwdState::Start().

◆ isRanged

bool RequestFlags::isRanged = false

set if the request is ranged

Definition at line 117 of file RequestFlags.h.

Referenced by clientInterpretRequestHeaders(), StoreEntry::hasIfNoneMatchEtag(), and HttpStateData::httpBuildRequestHeader().

◆ loopDetected

bool RequestFlags::loopDetected = false

◆ mustKeepalive

bool RequestFlags::mustKeepalive = false

if set, request to try very hard to keep the connection alive

Definition at line 83 of file RequestFlags.h.

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

◆ needValidation

bool RequestFlags::needValidation = false

the requested object needs to be validated. See client_side_reply.cc for further information.

Definition at line 50 of file RequestFlags.h.

Referenced by clientReplyContext::cacheHit(), clientReplyContext::createStoreEntry(), HappyConnOpener::makeError(), ErrorState::NewForwarding(), and peerAllowedToUse().

◆ noCache

bool RequestFlags::noCache = false

◆ nocacheHack

bool RequestFlags::nocacheHack = false

request to override no-cache directives

always use noCacheHack() for reading.

only meaningful if USE_HTTP_VIOLATIONS is defined at build time

Definition at line 60 of file RequestFlags.h.

Referenced by clientInterpretRequestHeaders(), and noCacheHack().

◆ noDirect

bool RequestFlags::noDirect = false

Deny direct forwarding unless overridden by always_direct Used in accelerator mode

Definition at line 97 of file RequestFlags.h.

Referenced by clientProcessRequest(), and PeerSelector::selectMore().

◆ pinned

◆ proxyKeepalive

bool RequestFlags::proxyKeepalive = false

◆ redirected

bool RequestFlags::redirected = false

◆ refresh

bool RequestFlags::refresh = false

content has expired, need to refresh it

Definition at line 44 of file RequestFlags.h.

Referenced by Store::Controller::allowCollapsing(), peerAllowedToUse(), peerDigestRequest(), and clientReplyContext::processExpired().

◆ resetTcp

bool RequestFlags::resetTcp = false

request to reset the TCP stream

Definition at line 115 of file RequestFlags.h.

Referenced by clientProcessRequestFinished(), and errorAppendEntry().

◆ spoofClientIp

bool RequestFlags::spoofClientIp = false

The client IP address should be spoofed when connecting to the web server. This applies to TPROXY traffic that has not had spoofing disabled through the spoof_client_ip squid.conf ACL.

Definition at line 74 of file RequestFlags.h.

Referenced by getOutgoingAddress(), HttpRequest::manager(), PeerSelector::noteIp(), and HttpStateData::processReplyBody().

◆ sslBumped

◆ sslPeek

bool RequestFlags::sslPeek = false

◆ staleIfHit

bool RequestFlags::staleIfHit = false

reply is stale if it is a hit

Definition at line 54 of file RequestFlags.h.

Referenced by clientReplyContext::handleIMSReply(), and refreshCheckHTTP().

◆ streamError

bool RequestFlags::streamError = false

set if stream error has occurred

Definition at line 101 of file RequestFlags.h.

Referenced by Http::One::Server::handleReply(), and clientReplyContext::sendStreamError().

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






Web Site Translations