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