]>
Commit | Line | Data |
---|---|---|
e1f7507e AJ |
1 | #ifndef SQUID_CLIENTREQUESTCONTEXT_H |
2 | #define SQUID_CLIENTREQUESTCONTEXT_H | |
3 | ||
4 | class ACLChecklist; | |
5 | class ClientHttpRequest; | |
fe97983f | 6 | class DnsLookupDetails; |
e1f7507e | 7 | |
e1f7507e AJ |
8 | /* for RefCountable */ |
9 | #include "RefCount.h" | |
10 | /* for CBDATA_CLASS() */ | |
11 | #include "cbdata.h" | |
12 | ||
a83c6ed6 AR |
13 | #if USE_ADAPTATION |
14 | #include "adaptation/forward.h" | |
0f305536 | 15 | #endif |
16 | ||
17 | class ClientRequestContext : public RefCountable | |
18 | { | |
19 | ||
20 | public: | |
21 | void *operator new(size_t); | |
22 | void operator delete(void *); | |
23 | ||
24 | ClientRequestContext(ClientHttpRequest *); | |
25 | ~ClientRequestContext(); | |
26 | ||
27 | bool httpStateIsValid(); | |
fe97983f AJ |
28 | void hostHeaderVerify(); |
29 | void hostHeaderIpVerify(const ipcache_addrs* ia, const DnsLookupDetails &dns); | |
30 | void hostHeaderVerifyFailed(); | |
0f305536 | 31 | void clientAccessCheck(); |
533493da | 32 | void clientAccessCheck2(); |
2efeb0b7 | 33 | void clientAccessCheckDone(const allow_t &answer); |
0f305536 | 34 | void clientRedirectStart(); |
35 | void clientRedirectDone(char *result); | |
36 | void checkNoCache(); | |
2efeb0b7 | 37 | void checkNoCacheDone(const allow_t &answer); |
a83c6ed6 | 38 | #if USE_ADAPTATION |
0f305536 | 39 | |
a83c6ed6 | 40 | void adaptationAccessCheck(); |
a22e6cd3 | 41 | void adaptationAclCheckDone(Adaptation::ServiceGroupPointer g); |
0f305536 | 42 | #endif |
e0c0d54c CT |
43 | #if USE_SSL |
44 | /** | |
45 | * Initiates and start the acl checklist to check if the a CONNECT | |
46 | * request must be bumped. | |
47 | \retval true if the acl check scheduled, false if no ssl-bump required | |
48 | */ | |
49 | bool sslBumpAccessCheck(); | |
50 | /// The callback function for ssl-bump access check list | |
51 | void sslBumpAccessCheckDone(bool doSslBump); | |
52 | #endif | |
0f305536 | 53 | |
54 | ClientHttpRequest *http; | |
55 | ACLChecklist *acl_checklist; /* need ptr back so we can unreg if needed */ | |
56 | int redirect_state; | |
57 | ||
fe97983f | 58 | bool host_header_verify_done; |
57abaac0 | 59 | bool http_access_done; |
533493da | 60 | bool adapted_http_access_done; |
a83c6ed6 | 61 | #if USE_ADAPTATION |
a83c6ed6 | 62 | bool adaptation_acl_check_done; |
0f305536 | 63 | #endif |
57abaac0 | 64 | bool redirect_done; |
5d2136fa | 65 | bool no_cache_done; |
57abaac0 | 66 | bool interpreted_req_hdrs; |
425de4c8 AJ |
67 | bool tosToClientDone; |
68 | bool nfmarkToClientDone; | |
e0c0d54c CT |
69 | #if USE_SSL |
70 | bool sslBumpCheckDone; | |
71 | #endif | |
0f305536 | 72 | |
73 | private: | |
74 | CBDATA_CLASS(ClientRequestContext); | |
75 | }; | |
76 | ||
e1f7507e | 77 | #endif /* SQUID_CLIENTREQUESTCONTEXT_H */ |