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_SRC_REQUESTFLAGS_H
12 #define SQUID_SRC_REQUESTFLAGS_H
13 
14 #include "base/SupportOrVeto.h"
15 
23 {
24 public:
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;
52  bool failOnValidationError = 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;
75 
80  bool internal = false;
81 
83  bool mustKeepalive = false;
85  bool connectionAuth = false;
87  bool connectionAuthDisabled = false;
88  // XXX This is set in clientCheckPinning but never tested
90  bool connectionProxyAuth = false;
92  bool pinned = false;
94  bool authSent = false;
97  bool noDirect = false;
99  bool chunkedReply = false;
101  bool streamError = false;
103  bool sslPeek = false;
110  bool sslBumped = false;
112  bool ftpNative = false;
113  bool destinationIpLookedUp = false;
115  bool resetTcp = false;
117  bool isRanged = false;
118 
120  bool forceTunnel = false;
121 
126 
127  // if FOLLOW_X_FORWARDED_FOR is not set, we always return "done".
128  bool doneFollowXff() const {
129  return done_follow_x_forwarded_for || !FOLLOW_X_FORWARDED_FOR;
130  }
131 
132  // if USE_HTTP_VIOLATIONS is not set, never allow this
133  bool noCacheHack() const {
134  return USE_HTTP_VIOLATIONS && nocacheHack;
135  }
136 
140  void disableCacheUse(const char *reason);
141 };
142 
143 #endif /* SQUID_SRC_REQUESTFLAGS_H */
144 
bool interceptTproxy
Set for requests handled by a "tproxy" port.
Definition: RequestFlags.h:70
bool spoofClientIp
Definition: RequestFlags.h:74
bool needValidation
Definition: RequestFlags.h:50
SupportOrVeto cachable
whether the response may be stored in the cache
Definition: RequestFlags.h:35
bool loopDetected
Definition: RequestFlags.h:40
bool connectionAuth
Definition: RequestFlags.h:85
bool destinationIpLookedUp
Definition: RequestFlags.h:113
bool done_follow_x_forwarded_for
Definition: RequestFlags.h:108
bool hostVerified
Definition: RequestFlags.h:68
bool hierarchical
Definition: RequestFlags.h:38
bool auth_no_keytab
Definition: RequestFlags.h:32
bool connectionAuthDisabled
Definition: RequestFlags.h:87
bool noCacheHack() const
Definition: RequestFlags.h:133
bool failOnValidationError
Definition: RequestFlags.h:52
bool intercepted
Definition: RequestFlags.h:66
bool connectionProxyAuth
Definition: RequestFlags.h:90
bool doneFollowXff() const
Definition: RequestFlags.h:128
bool chunkedReply
Definition: RequestFlags.h:99
bool mustKeepalive
Definition: RequestFlags.h:83
bool proxyKeepalive
Definition: RequestFlags.h:42
bool accelerated
Definition: RequestFlags.h:62
bool nocacheHack
Definition: RequestFlags.h:60
void disableCacheUse(const char *reason)
Definition: RequestFlags.cc:30
a boolean flag that is false by default and becomes permanently false if vetoed
Definition: SupportOrVeto.h:15
bool forceTunnel
whether to forward via TunnelStateData (instead of FwdState)
Definition: RequestFlags.h:120
RequestFlags cloneAdaptationImmune() const
Definition: RequestFlags.cc:21
bool ftpNative
carries a representation of an FTP command [received on ftp_port]
Definition: RequestFlags.h:112

 

Introduction

Documentation

Support

Miscellaneous