#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 () override
 
bool httpStateIsValid ()
 
void hostHeaderVerify ()
 
void hostHeaderIpVerify (const ipcache_addrs *, const Dns::LookupDetails &)
 
void hostHeaderVerifyFailed (const char *A, const char *B)
 
void clientAccessCheck ()
 
void clientAccessCheck2 ()
 
void clientAccessCheckDone (const Acl::Answer &)
 
void clientRedirectStart ()
 
void clientRedirectDone (const Helper::Reply &)
 
void clientStoreIdStart ()
 
void clientStoreIdDone (const Helper::Reply &)
 
void checkNoCache ()
 applies "cache allow/deny" rules, asynchronously if needed More...
 
void checkNoCacheDone (const Acl::Answer &)
 
void adaptationAccessCheck ()
 
bool sslBumpAccessCheck ()
 
void sslBumpAccessCheckDone (const Acl::Answer &answer)
 The callback function for ssl-bump access check list. More...
 

Public Attributes

ClientHttpRequesthttp
 
ACLChecklistacl_checklist = nullptr
 need ptr back so we can unregister if needed More...
 
int redirect_state = REDIRECT_NONE
 
int store_id_state = REDIRECT_NONE
 
bool host_header_verify_done = false
 
bool http_access_done = false
 
bool adapted_http_access_done = false
 
bool adaptation_acl_check_done = false
 
bool redirect_done = false
 
bool store_id_done = false
 
bool no_cache_done = false
 
bool interpreted_req_hdrs = false
 
bool toClientMarkingDone = false
 
bool sslBumpCheckDone = false
 
ErrorStateerror = nullptr
 saved error page for centralized/delayed processing More...
 
bool readNextRequest = false
 whether Squid should read after error handling More...
 

Static Private Attributes

static cbdata_type CBDATA_ClientRequestContext = CBDATA_UNKNOWN
 

Detailed Description

Definition at line 28 of file ClientRequestContext.h.

Constructor & Destructor Documentation

◆ ClientRequestContext()

ClientRequestContext::ClientRequestContext ( ClientHttpRequest anHttp)

Definition at line 115 of file client_side_request.cc.

References debugs.

◆ ~ClientRequestContext()

ClientRequestContext::~ClientRequestContext ( )
override

Definition at line 101 of file client_side_request.cc.

References cbdataReferenceDone, debugs, error, and http.

Member Function Documentation

◆ adaptationAccessCheck()

void ClientRequestContext::adaptationAccessCheck ( )

◆ checkNoCache()

◆ checkNoCacheDone()

void ClientRequestContext::checkNoCacheDone ( const Acl::Answer answer)

◆ 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 678 of file client_side_request.cc.

References ACCESS_ALLOWED, SquidConfig::accessList, acl_checklist, SquidConfig::adapted_http, clientAccessCheckDone(), clientAccessCheckDoneWrapper(), clientAclChecklistCreate(), Config, debugs, http, and ACLChecklist::nonBlockingCheck().

Referenced by ClientHttpRequest::doCallouts().

◆ clientAccessCheckDone()

◆ clientRedirectDone()

◆ clientRedirectStart()

◆ clientStoreIdDone()

◆ clientStoreIdStart()

void ClientRequestContext::clientStoreIdStart ( )

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

Definition at line 869 of file client_side_request.cc.

References SquidConfig::accessList, acl_checklist, clientAclChecklistCreate(), clientStoreIdAccessCheckDone(), clientStoreIdDoneWrapper, Config, debugs, http, ACLChecklist::nonBlockingCheck(), SquidConfig::store_id, storeIdStart(), and ClientHttpRequest::uri.

Referenced by ClientHttpRequest::doCallouts().

◆ hostHeaderIpVerify()

◆ hostHeaderVerify()

◆ hostHeaderVerifyFailed()

◆ httpStateIsValid()

◆ operator delete()

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

Definition at line 30 of file ClientRequestContext.h.

◆ operator new()

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

Definition at line 30 of file ClientRequestContext.h.

◆ sslBumpAccessCheck()

◆ sslBumpAccessCheckDone()

◆ toCbdata()

void * ClientRequestContext::toCbdata ( )
inlinenoexcept

Definition at line 30 of file ClientRequestContext.h.

Member Data Documentation

◆ acl_checklist

◆ adaptation_acl_check_done

bool ClientRequestContext::adaptation_acl_check_done = false

Definition at line 73 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ adapted_http_access_done

bool ClientRequestContext::adapted_http_access_done = false

Definition at line 71 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ CBDATA_ClientRequestContext

cbdata_type ClientRequestContext::CBDATA_ClientRequestContext = CBDATA_UNKNOWN
staticprivate

Definition at line 30 of file ClientRequestContext.h.

◆ error

◆ host_header_verify_done

bool ClientRequestContext::host_header_verify_done = false

Definition at line 69 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ http

◆ http_access_done

bool ClientRequestContext::http_access_done = false

Definition at line 70 of file ClientRequestContext.h.

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

◆ interpreted_req_hdrs

bool ClientRequestContext::interpreted_req_hdrs = false

Definition at line 78 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ no_cache_done

bool ClientRequestContext::no_cache_done = false

Definition at line 77 of file ClientRequestContext.h.

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

◆ readNextRequest

bool ClientRequestContext::readNextRequest = false

◆ redirect_done

bool ClientRequestContext::redirect_done = false

Definition at line 75 of file ClientRequestContext.h.

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

◆ redirect_state

int ClientRequestContext::redirect_state = REDIRECT_NONE

Definition at line 66 of file ClientRequestContext.h.

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

◆ sslBumpCheckDone

bool ClientRequestContext::sslBumpCheckDone = false

Definition at line 81 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ store_id_done

bool ClientRequestContext::store_id_done = false

Definition at line 76 of file ClientRequestContext.h.

Referenced by ClientHttpRequest::doCallouts().

◆ store_id_state

int ClientRequestContext::store_id_state = REDIRECT_NONE

Definition at line 67 of file ClientRequestContext.h.

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

◆ toClientMarkingDone

bool ClientRequestContext::toClientMarkingDone = false

Definition at line 79 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