ClientRequestContext.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9#ifndef SQUID_CLIENTREQUESTCONTEXT_H
10#define SQUID_CLIENTREQUESTCONTEXT_H
11
12#include "acl/forward.h"
13#include "base/RefCount.h"
14#include "cbdata.h"
15#include "defines.h"
16#include "dns/forward.h"
17#include "helper/forward.h"
18#include "ipcache.h"
19
20#if USE_ADAPTATION
21#include "adaptation/forward.h"
22#endif
23
24class ACLChecklist;
26class ErrorState;
27
29{
31
32public:
34 ~ClientRequestContext() override;
35
36 bool httpStateIsValid();
37 void hostHeaderVerify();
39 void hostHeaderVerifyFailed(const char *A, const char *B);
40 void clientAccessCheck();
41 void clientAccessCheck2();
45 void clientStoreIdStart();
46 void clientStoreIdDone(const Helper::Reply &);
47 void checkNoCache();
48 void checkNoCacheDone(const Acl::Answer &);
49#if USE_ADAPTATION
51#endif
52#if USE_OPENSSL
59 bool sslBumpAccessCheck();
61 void sslBumpAccessCheckDone(const Acl::Answer &answer);
62#endif
63
68
70 bool http_access_done = false;
72#if USE_ADAPTATION
74#endif
75 bool redirect_done = false;
76 bool store_id_done = false;
77 bool no_cache_done = false;
79 bool toClientMarkingDone = false;
80#if USE_OPENSSL
81 bool sslBumpCheckDone = false;
82#endif
83 ErrorState *error = nullptr;
84 bool readNextRequest = false;
85};
86
87#endif /* SQUID_CLIENTREQUESTCONTEXT_H */
88
#define RefCountable
The locking interface for use on Reference-Counted classes.
Definition: Lock.h:66
#define CBDATA_CLASS(type)
Definition: cbdata.h:289
void clientAccessCheckDone(const Acl::Answer &)
void clientStoreIdDone(const Helper::Reply &)
void clientRedirectDone(const Helper::Reply &)
void sslBumpAccessCheckDone(const Acl::Answer &answer)
The callback function for ssl-bump access check list.
ClientRequestContext(ClientHttpRequest *)
bool readNextRequest
whether Squid should read after error handling
ClientHttpRequest * http
ACLChecklist * acl_checklist
need ptr back so we can unregister if needed
void checkNoCache()
applies "cache allow/deny" rules, asynchronously if needed
ErrorState * error
saved error page for centralized/delayed processing
void hostHeaderVerifyFailed(const char *A, const char *B)
void hostHeaderIpVerify(const ipcache_addrs *, const Dns::LookupDetails &)
void checkNoCacheDone(const Acl::Answer &)
encapsulates DNS lookup results
Definition: LookupDetails.h:23
#define REDIRECT_NONE
Definition: defines.h:55
static uint32 A
Definition: md4.c:43
static uint32 B
Definition: md4.c:43

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors