RequestFlags.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/* DEBUG: section 73 HTTP Request */
10
11#ifndef SQUID_REQUESTFLAGS_H_
12#define SQUID_REQUESTFLAGS_H_
13
14#include "base/SupportOrVeto.h"
15
23{
24public:
26 bool noCache = false;
28 bool ims = false;
30 bool auth = false;
32 bool auth_no_keytab = false;
33
36
38 bool hierarchical = false;
40 bool loopDetected = false;
42 bool proxyKeepalive = false;
44 bool refresh = false;
46 bool redirected = false;
50 bool needValidation = false;
54 bool staleIfHit = false;
60 bool nocacheHack = false;
62 bool accelerated = false;
64 bool ignoreCc = false;
66 bool intercepted = false;
68 bool hostVerified = false;
70 bool interceptTproxy = false;
74 bool spoofClientIp = false;
76 bool internal = false;
78 bool mustKeepalive = false;
80 bool connectionAuth = false;
83 // XXX This is set in clientCheckPinning but never tested
85 bool connectionProxyAuth = false;
87 bool pinned = false;
89 bool authSent = false;
92 bool noDirect = false;
94 bool chunkedReply = false;
96 bool streamError = false;
98 bool sslPeek = false;
105 bool sslBumped = false;
107 bool ftpNative = false;
110 bool resetTcp = false;
112 bool isRanged = false;
113
115 bool forceTunnel = false;
116
121
122 // if FOLLOW_X_FORWARDED_FOR is not set, we always return "done".
123 bool doneFollowXff() const {
124 return done_follow_x_forwarded_for || !FOLLOW_X_FORWARDED_FOR;
125 }
126
127 // if USE_HTTP_VIOLATIONS is not set, never allow this
128 bool noCacheHack() const {
129 return USE_HTTP_VIOLATIONS && nocacheHack;
130 }
131
135 void disableCacheUse(const char *reason);
136};
137
138#endif /* SQUID_REQUESTFLAGS_H_ */
139
bool doneFollowXff() const
Definition: RequestFlags.h:123
bool needValidation
Definition: RequestFlags.h:50
bool interceptTproxy
Set for requests handled by a "tproxy" port.
Definition: RequestFlags.h:70
bool accelerated
Definition: RequestFlags.h:62
bool connectionAuth
Definition: RequestFlags.h:80
bool chunkedReply
Definition: RequestFlags.h:94
bool forceTunnel
whether to forward via TunnelStateData (instead of FwdState)
Definition: RequestFlags.h:115
bool noCacheHack() const
Definition: RequestFlags.h:128
bool ftpNative
carries a representation of an FTP command [received on ftp_port]
Definition: RequestFlags.h:107
bool connectionProxyAuth
Definition: RequestFlags.h:85
bool mustKeepalive
Definition: RequestFlags.h:78
bool hostVerified
Definition: RequestFlags.h:68
bool done_follow_x_forwarded_for
Definition: RequestFlags.h:103
void disableCacheUse(const char *reason)
Definition: RequestFlags.cc:30
bool streamError
Definition: RequestFlags.h:96
bool intercepted
Definition: RequestFlags.h:66
bool proxyKeepalive
Definition: RequestFlags.h:42
bool auth_no_keytab
Definition: RequestFlags.h:32
bool failOnValidationError
Definition: RequestFlags.h:52
bool nocacheHack
Definition: RequestFlags.h:60
bool destinationIpLookedUp
Definition: RequestFlags.h:108
bool loopDetected
Definition: RequestFlags.h:40
bool spoofClientIp
Definition: RequestFlags.h:74
bool connectionAuthDisabled
Definition: RequestFlags.h:82
RequestFlags cloneAdaptationImmune() const
Definition: RequestFlags.cc:21
SupportOrVeto cachable
whether the response may be stored in the cache
Definition: RequestFlags.h:35
bool hierarchical
Definition: RequestFlags.h:38
a boolean flag that is false by default and becomes permanently false if vetoed
Definition: SupportOrVeto.h:16

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors