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;
75
80 bool internal = false;
81
83 bool mustKeepalive = false;
85 bool connectionAuth = 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;
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_REQUESTFLAGS_H_ */
144
bool doneFollowXff() const
Definition: RequestFlags.h:128
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:85
bool chunkedReply
Definition: RequestFlags.h:99
bool forceTunnel
whether to forward via TunnelStateData (instead of FwdState)
Definition: RequestFlags.h:120
bool noCacheHack() const
Definition: RequestFlags.h:133
bool ftpNative
carries a representation of an FTP command [received on ftp_port]
Definition: RequestFlags.h:112
bool connectionProxyAuth
Definition: RequestFlags.h:90
bool mustKeepalive
Definition: RequestFlags.h:83
bool hostVerified
Definition: RequestFlags.h:68
bool done_follow_x_forwarded_for
Definition: RequestFlags.h:108
void disableCacheUse(const char *reason)
Definition: RequestFlags.cc:30
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:113
bool loopDetected
Definition: RequestFlags.h:40
bool spoofClientIp
Definition: RequestFlags.h:74
bool connectionAuthDisabled
Definition: RequestFlags.h:87
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