HttpRequest.h
Go to the documentation of this file.
56 HttpRequest(const HttpRequestMethod& aMethod, AnyP::ProtocolType aProtocol, const char *schemeImage, const char *aUrlpath, const MasterXaction::Pointer &);
60 void initHTTP(const HttpRequestMethod& aMethod, AnyP::ProtocolType aProtocol, const char *schemeImage, const char *aUrlpath);
213 static HttpRequest * FromUrl(const SBuf &url, const MasterXaction::Pointer &, const HttpRequestMethod &method = Http::METHOD_GET);
216 static HttpRequest * FromUrlXXX(const char * url, const MasterXaction::Pointer &, const HttpRequestMethod &method = Http::METHOD_GET);
242 int64_t getRangeOffsetLimit(); /* the result of this function gets cached in rangeOffsetLimit */
271 bool sanityCheckStartLine(const char *buf, const size_t hdr_len, Http::StatusCode *error) override;
static HttpRequest * FromUrl(const SBuf &url, const MasterXaction::Pointer &, const HttpRequestMethod &method=Http::METHOD_GET)
Definition: HttpRequest.cc:517
void ignoreRange(const char *reason)
forgets about the cached Range header (for a reason)
Definition: HttpRequest.cc:621
MEMPROXY_CLASS(HttpRequest)
Definition: HttpHeaderRange.h:51
static void httpRequestPack(void *obj, Packable *p)
AnyP::Port FindListeningPortNumber(const HttpRequest *, const AccessLogEntry *)
Definition: HttpRequest.cc:872
CbcPointer< Downloader > downloader
The Downloader object which initiated the HTTP request if any.
Definition: HttpRequest.h:235
Definition: CachePeer.h:28
bool expectingBody(const HttpRequestMethod &unused, int64_t &) const override
Definition: HttpRequest.cc:488
Auth::UserRequest::Pointer auth_user_request
Definition: HttpRequest.h:127
void detailError(const err_type c, const ErrorDetail::Pointer &d)
sets error detail if no earlier detail was available
Definition: HttpRequest.h:101
Definition: AccessLogEntry.h:40
Definition: Packable.h:52
const Ip::Address * FindListeningPortAddress(const HttpRequest *, const AccessLogEntry *)
Definition: HttpRequest.cc:863
void configureContentLengthInterpreter(Http::ContentLengthInterpreter &) override
configures the interpreter as needed
Definition: HttpRequest.h:249
Definition: HttpRequest.h:48
String etag
A strong etag of the cached entry. Used for refreshing that entry.
Definition: HttpRequest.h:191
Definition: RequestFlags.h:22
void recordLookup(const Dns::LookupDetails &detail)
Definition: HttpRequest.cc:580
Definition: client_side.h:79
Definition: RequestMethod.h:26
bool canHandle1xx() const
whether the client is likely to be able to handle a 1xx reply
Definition: HttpRequest.cc:635
Adaptation::Icap::History::Pointer icapHistory() const
Returns possibly nil history, creating it if icap logging is enabled.
Definition: HttpRequest.cc:389
MasterXaction::Pointer masterXaction
the master transaction this request belongs to. Never nil.
Definition: HttpRequest.h:238
Definition: SquidString.h:25
SBuf vary_headers
The variant second-stage cache key. Generated from Vary header pattern for this request.
Definition: HttpRequest.h:170
Definition: Downloader.h:45
Adaptation::Icap::History::Pointer icapHistory_
per-HTTP transaction info
Definition: HttpRequest.h:122
Definition: HierarchyLogEntry.h:23
void initHTTP(const HttpRequestMethod &aMethod, AnyP::ProtocolType aProtocol, const char *schemeImage, const char *aUrlpath)
Definition: HttpRequest.cc:68
Http::StatusCode checkEntityFraming() const
Definition: HttpRequest.cc:647
bool parseFirstLine(const char *start, const char *end) override
Definition: HttpRequest.cc:294
Adaptation::History::Pointer adaptHistory(bool createIfNone=false) const
Returns possibly nil history, creating it if requested.
Definition: HttpRequest.cc:404
Definition: Parser.h:40
Adaptation::History::Pointer adaptLogHistory() const
Returns possibly nil history, creating it if adapt. logging is enabled.
Definition: HttpRequest.cc:415
void UpdateRequestNotes(ConnStateData *csd, HttpRequest &request, NotePairs const ¬es)
Definition: HttpRequest.cc:760
Definition: Store.h:37
Definition: Notes.h:179
void prepForPeering(const CachePeer &peer)
get ready to be sent to the given cache_peer, including originserver
Definition: HttpRequest.cc:446
bool inheritProperties(const Http::Message *) override
Definition: HttpRequest.cc:214
bool forcedBodyContinuation
whether we have responded with HTTP 100 or FTP 150 already
Definition: HttpRequest.h:194
static HttpRequest * FromUrlXXX(const char *url, const MasterXaction::Pointer &, const HttpRequestMethod &method=Http::METHOD_GET)
Definition: HttpRequest.cc:528
void manager(const CbcPointer< ConnStateData > &aMgr, const AccessLogEntryPointer &al)
associates the request with a from-client connection manager
Definition: HttpRequest.cc:774
void packFirstLineInto(Packable *p, bool full_uri) const override
Definition: HttpRequest.cc:472
void update(const Error &)
if necessary, stores the given error information (if any)
Definition: Error.cc:51
void prepForDirect()
get ready to be sent directly to an origin server, excluding originserver
Definition: HttpRequest.cc:456
const SBuf & effectiveRequestUri() const
RFC 7230 section 5.5 - Effective Request URI.
Definition: HttpRequest.cc:744
Definition: Address.h:42
void adaptHistoryImport(const HttpRequest &them)
Makes their history ours, throwing on conflicts.
Definition: HttpRequest.cc:421
bool sanityCheckStartLine(const char *buf, const size_t hdr_len, Http::StatusCode *error) override
Definition: HttpRequest.cc:268
CbcPointer< ConnStateData > clientConnectionManager
Definition: HttpRequest.h:232
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products