]> git.ipfire.org Git - thirdparty/squid.git/blame - src/ClientRequestContext.h
Fix NIS helper build on FreeBSD
[thirdparty/squid.git] / src / ClientRequestContext.h
CommitLineData
e1f7507e
AJ
1#ifndef SQUID_CLIENTREQUESTCONTEXT_H
2#define SQUID_CLIENTREQUESTCONTEXT_H
3
4class ACLChecklist;
5class ClientHttpRequest;
fe97983f 6class 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
17class ClientRequestContext : public RefCountable
18{
19
20public:
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
73private:
74 CBDATA_CLASS(ClientRequestContext);
75};
76
e1f7507e 77#endif /* SQUID_CLIENTREQUESTCONTEXT_H */