#include <ClientRequestContext.h>

Inheritance diagram for ClientRequestContext:
Collaboration diagram for ClientRequestContext:

Public Member Functions

void * operator new (size_t size)
 
void operator delete (void *address)
 
void * toCbdata () noexcept
 
 ClientRequestContext (ClientHttpRequest *)
 
 ~ClientRequestContext ()
 
bool httpStateIsValid ()
 
void hostHeaderVerify ()
 
void hostHeaderIpVerify (const ipcache_addrs *ia, const Dns::LookupDetails &dns)
 
void hostHeaderVerifyFailed (const char *A, const char *B)
 
void clientAccessCheck ()
 
void clientAccessCheck2 ()
 
void clientAccessCheckDone (const allow_t &answer)
 
void clientRedirectStart ()
 
void clientRedirectDone (const Helper::Reply &reply)
 
void clientStoreIdStart ()
 
void clientStoreIdDone (const Helper::Reply &reply)
 
void checkNoCache ()
 
void checkNoCacheDone (const allow_t &answer)
 
void adaptationAccessCheck ()
 
bool sslBumpAccessCheck ()
 
void sslBumpAccessCheckDone (const allow_t &answer)
 The callback function for ssl-bump access check list. More...
 

Public Attributes

ClientHttpRequesthttp
 
ACLChecklistacl_checklist
 
int redirect_state
 
int store_id_state
 
bool host_header_verify_done
 
bool http_access_done
 
bool adapted_http_access_done
 
bool adaptation_acl_check_done
 
bool redirect_done
 
bool store_id_done
 
bool no_cache_done
 
bool interpreted_req_hdrs
 
bool toClientMarkingDone
 
bool sslBumpCheckDone
 
ErrorStateerror
 saved error page for centralized/delayed processing More...
 
bool readNextRequest
 whether Squid should read after error handling More...
 

Static Private Attributes

static cbdata_type CBDATA_ClientRequestContext = CBDATA_UNKNOWN
 

Detailed Description

Definition at line 26 of file ClientRequestContext.h.

Constructor & Destructor Documentation

◆ ClientRequestContext()

ClientRequestContext::ClientRequestContext ( ClientHttpRequest anHttp)

Definition at line 120 of file client_side_request.cc.

References CBDATA_CLASS_INIT, and debugs.

◆ ~ClientRequestContext()

ClientRequestContext::~ClientRequestContext ( )

Definition at line 106 of file client_side_request.cc.

References cbdataReferenceDone, debugs, error, and http.

Member Function Documentation

◆ adaptationAccessCheck()

void ClientRequestContext::adaptationAccessCheck ( )

◆ checkNoCache()

void ClientRequestContext::checkNoCache ( )

Test cache allow/deny configuration Sets flags.cachable=1 if caching is not denied.

Definition at line 1353 of file client_side_request.cc.

References ACCESS_ALLOWED, SquidConfig::accessList, checkNoCacheDoneWrapper(), clientAclChecklistCreate(), Config, and SquidConfig::noCache.

Referenced by ClientHttpRequest::doCallouts().

◆ checkNoCacheDone()

void ClientRequestContext::checkNoCacheDone ( const allow_t answer)

Definition at line 1376 of file client_side_request.cc.

References allow_t::denied(), and NULL.

Referenced by checkNoCacheDoneWrapper().

◆ clientAccessCheck()

◆ clientAccessCheck2()

void ClientRequestContext::clientAccessCheck2 ( )

Identical in operation to clientAccessCheck() but performed later using different configured ACL list. The default here is to allow all. Since the earlier http_access should do a default deny all. This check is just for a last-minute denial based on adapted request headers.

Definition at line 716 of file client_side_request.cc.

References ACCESS_ALLOWED, SquidConfig::accessList, SquidConfig::adapted_http, clientAccessCheckDoneWrapper(), clientAclChecklistCreate(), Config, debugs, and HERE().

Referenced by ClientHttpRequest::doCallouts().

◆ clientAccessCheckDone()

◆ clientRedirectDone()

◆ clientRedirectStart()

◆ clientStoreIdDone()

void ClientRequestContext::clientStoreIdDone ( const Helper::Reply reply)

◆ clientStoreIdStart()

void ClientRequestContext::clientStoreIdStart ( )

Start locating an alternative storeage ID string (if any) from admin configured helper program. This is an asynchronous operation terminating in ClientRequestContext::clientStoreIdDone() when completed.

Definition at line 913 of file client_side_request.cc.

References SquidConfig::accessList, clientAclChecklistCreate(), clientStoreIdAccessCheckDone(), clientStoreIdDoneWrapper, Config, debugs, SquidConfig::store_id, and storeIdStart().

Referenced by ClientHttpRequest::doCallouts().

◆ hostHeaderIpVerify()

void ClientRequestContext::hostHeaderIpVerify ( const ipcache_addrs ia,
const Dns::LookupDetails dns 
)

◆ hostHeaderVerify()

◆ hostHeaderVerifyFailed()

void ClientRequestContext::hostHeaderVerifyFailed ( const char *  A,
const char *  B 
)

◆ httpStateIsValid()

◆ operator delete()

void ClientRequestContext::operator delete ( void *  address)
inline

Definition at line 28 of file ClientRequestContext.h.

◆ operator new()

void* ClientRequestContext::operator new ( size_t  size)
inline

Definition at line 28 of file ClientRequestContext.h.

◆ sslBumpAccessCheck()

bool ClientRequestContext::sslBumpAccessCheck ( )

Initiates and start the acl checklist to check if the a CONNECT request must be bumped.

Return values
trueif the acl check scheduled, false if no ssl-bump required

Definition at line 1388 of file client_side_request.cc.

References SquidConfig::accessList, Ssl::bumpBump, Ssl::bumpEnd, Ssl::bumpMode(), clientAclChecklistCreate(), Config, debugs, error(), errorTypeName(), HERE(), Http::METHOD_CONNECT, ACLChecklist::nonBlockingCheck(), Http::scProxyAuthenticationRequired, SquidConfig::ssl_bump, and sslBumpAccessCheckDoneWrapper().

Referenced by ClientHttpRequest::doCallouts().

◆ sslBumpAccessCheckDone()

void ClientRequestContext::sslBumpAccessCheckDone ( const allow_t answer)

◆ toCbdata()

void* ClientRequestContext::toCbdata ( )
inlinenoexcept

Definition at line 28 of file ClientRequestContext.h.

Member Data Documentation

◆ acl_checklist

ACLChecklist* ClientRequestContext::acl_checklist

◆ adaptation_acl_check_done

bool ClientRequestContext::adaptation_acl_check_done

Definition at line 71 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ adapted_http_access_done

bool ClientRequestContext::adapted_http_access_done

Definition at line 69 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ CBDATA_ClientRequestContext

cbdata_type ClientRequestContext::CBDATA_ClientRequestContext = CBDATA_UNKNOWN
staticprivate

Definition at line 28 of file ClientRequestContext.h.

◆ error

ErrorState* ClientRequestContext::error

◆ host_header_verify_done

bool ClientRequestContext::host_header_verify_done

Definition at line 67 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ http

◆ http_access_done

bool ClientRequestContext::http_access_done

Definition at line 68 of file ClientRequestContext.h.

Referenced by clientBeginRequest(), and ClientHttpRequest::doCallouts().

◆ interpreted_req_hdrs

bool ClientRequestContext::interpreted_req_hdrs

Definition at line 76 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ no_cache_done

bool ClientRequestContext::no_cache_done

Definition at line 75 of file ClientRequestContext.h.

Referenced by clientBeginRequest(), and ClientHttpRequest::doCallouts().

◆ readNextRequest

bool ClientRequestContext::readNextRequest

◆ redirect_done

bool ClientRequestContext::redirect_done

Definition at line 73 of file ClientRequestContext.h.

Referenced by clientBeginRequest(), and ClientHttpRequest::doCallouts().

◆ redirect_state

int ClientRequestContext::redirect_state

Definition at line 64 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ sslBumpCheckDone

bool ClientRequestContext::sslBumpCheckDone

Definition at line 79 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ store_id_done

bool ClientRequestContext::store_id_done

Definition at line 74 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ store_id_state

int ClientRequestContext::store_id_state

Definition at line 65 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ toClientMarkingDone

bool ClientRequestContext::toClientMarkingDone

Definition at line 77 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors