ModXact.h
Go to the documentation of this file.
132 uint64_t useOriginalBody() const { assert(sawUseOriginalBody()); return static_cast<uint64_t>(useOriginalBody_); }
146 ModXact(Http::Message *virginHeader, HttpRequest *virginCause, AccessLogEntry::Pointer &alp, ServiceRep::Pointer &s);
285 void encapsulateHead(MemBuf &icapBuf, const char *section, MemBuf &httpBuf, const Http::Message *head);
383 ModXactLauncher(Http::Message *virginHeader, HttpRequest *virginCause, AccessLogEntry::Pointer &alp, Adaptation::ServicePointer s);
void disableBypass(const char *reason, bool includeGroupBypass)
Definition: ModXact.cc:713
void callException(const std::exception &e) override
called when the job throws during an async call
Definition: ModXact.cc:661
Definition: TeChunkedParser.h:51
CBDATA_CHILD(ModXactLauncher)
void prepPartialBodyEchoing(uint64_t pos)
Definition: ModXact.cc:1018
ModXactLauncher(Http::Message *virginHeader, HttpRequest *virginCause, AccessLogEntry::Pointer &alp, Adaptation::ServicePointer s)
Definition: ModXact.cc:2019
ModXact(Http::Message *virginHeader, HttpRequest *virginCause, AccessLogEntry::Pointer &alp, ServiceRep::Pointer &s)
Definition: ModXact.cc:54
void openChunk(MemBuf &buf, size_t chunkSize, bool ieof)
Definition: ModXact.cc:376
size_t virginContentSize(const VirginBodyAct &act) const
Definition: ModXact.cc:404
void prepBackup(size_t expectedSize)
Definition: ModXact.h:37
void makeRequestHeaders(MemBuf &buf)
Definition: ModXact.cc:1375
enum Adaptation::Icap::Preview::State theState
void packHead(MemBuf &httpBuf, const Http::Message *head)
Definition: ModXact.cc:1624
bool virginBodyEndReached(const VirginBodyAct &act) const
Definition: ModXact.cc:395
VirginBodyAct virginBodyWriting
Definition: ModXact.h:298
void noteMoreBodyDataAvailable(BodyPipe::Pointer) override
Definition: ModXact.cc:1229
Parses and stores ICAP trailer header block.
Definition: ModXact.h:110
void backup(const MemBuf &buf)
void error(char *format,...)
void stopParsing(const bool checkUnparsedData=true)
Definition: ModXact.cc:1209
CBDATA_CHILD(ModXact)
bool allowedPostview204
Definition: ModXact.h:334
void handleCommWrote(size_t size) override
Definition: ModXact.cc:208
void makeAllowHeader(MemBuf &buf)
Definition: ModXact.cc:1515
bool parsePart(Part *part, const char *description)
Definition: ModXact.cc:1087
void maybeAllocateHttpMsg()
Definition: ModXact.cc:726
void fillDoneStatus(MemBuf &buf) const override
Definition: ModXact.cc:1781
bool parsingHeaders() const
Definition: ModXact.h:354
void addLastRequestChunk(MemBuf &buf)
Definition: ModXact.cc:369
void encapsulateHead(MemBuf &icapBuf, const char *section, MemBuf &httpBuf, const Http::Message *head)
Definition: ModXact.cc:1577
Definition: HttpRequest.h:48
void handleCommRead(size_t size) override
Definition: ModXact.cc:563
void makeAdaptedBodyPipe(const char *what)
Definition: ModXact.cc:1855
void detailError(const ErrorDetail::Pointer &errDetail) override
record error detail in the virgin request if possible
Definition: ModXact.cc:1988
void noteServiceAvailable()
Definition: ModXact.cc:168
Definition: ModXact.h:378
Definition: ModXact.h:86
bool sawUseOriginalBody() const
Definition: ModXact.h:131
void parse(Tokenizer &tok, const SBuf &extName) override
Definition: ModXact.cc:2073
void finalizeLogInfo() override
Definition: ModXact.cc:1311
uint64_t useOriginalBody() const
Definition: ModXact.h:132
bool expectHttpHeader() const
whether ICAP response header indicates HTTP header presence
Definition: ModXact.cc:1114
Definition: MemBuf.h:23
bool expectHttpBody() const
whether ICAP response header indicates HTTP body presence
Definition: ModXact.cc:1119
void fillPendingStatus(MemBuf &buf) const override
Definition: ModXact.cc:1741
void clearError() override
clear stored error details, if any; used for retries/repeats
Definition: ModXact.cc:2000
static const SBuf UseOriginalBodyName
Definition: ModXact.h:135
Definition: ModXact.h:60
Definition: BodyPipe.h:22
void writeSomeBody(const char *label, size_t size)
Definition: ModXact.cc:319
bool fillVirginHttpHeader(MemBuf &) const override
Definition: ModXact.cc:1978
void handleCommWroteHeaders()
Definition: ModXact.cc:218
void noteBodyProducerAborted(BodyPipe::Pointer) override
Definition: ModXact.cc:1251
const char * virginContentData(const VirginBodyAct &act) const
Definition: ModXact.cc:416
ChunkExtensionValueParser extensionParser
Definition: ModXact.h:323
enum Adaptation::Icap::ModXact::State::Sending sending
AccessLogEntry::Pointer masterLogEntry() override
The master transaction log entry.
Definition: ModXact.h:182
Definition: InOut.h:24
Definition: Xaction.h:43
bool canBackupEverything() const
Definition: ModXact.cc:1690
bool expectIcapTrailers() const
whether ICAP response header indicates ICAP trailers presence
Definition: ModXact.cc:1124
const HttpRequest & virginRequest() const
locates the request, either as a cause or as a virgin message itself
Definition: ModXact.cc:386
Xaction * createXaction() override
Definition: ModXact.cc:2029
enum Adaptation::Icap::ModXact::State::Writing writing
enum Adaptation::Icap::ModXact::State::Parsing parsing
bool doneConsumingVirgin() const
Definition: ModXact.h:344
Definition: BodyPipe.h:42
void decideWritingAfterPreview(const char *previewKind)
determine state.writing after we wrote the entire preview
Definition: ModXact.cc:292
Definition: parse.c:160
void noteMoreBodySpaceAvailable(BodyPipe::Pointer) override
Definition: ModXact.cc:1264
handles ICAP-specific chunk extensions supported by Squid
Definition: ModXact.h:125
void noteBodyConsumerAborted(BodyPipe::Pointer) override
Definition: ModXact.cc:1275
class Adaptation::Icap::ModXact::State state
VirginBodyAct virginBodySending
Definition: ModXact.h:299
::Parser::Tokenizer Tokenizer
Definition: TeChunkedParser.h:32
void handle206PartialContent()
Definition: ModXact.cc:925
bool gotEncapsulated(const char *section) const
Definition: ModXact.cc:1806
int64_t useOriginalBody_
the value of the parsed use-original-body chunk extension (or -1)
Definition: ModXact.h:138
void stopReceiving()
void finishNullOrEmptyBodyPreview(MemBuf &buf)
Definition: ModXact.cc:1727
bool parse(const char *buf, int len, int atEnd, Http::StatusCode *error)
Definition: ModXact.cc:2061
Definition: ModXact.h:325
void noteBodyProductionEnded(BodyPipe::Pointer) override
Definition: ModXact.cc:1238
void makeUsernameHeader(const HttpRequest *request, MemBuf &buf)
Definition: ModXact.cc:1548
Definition: Launcher.h:47
bool allowedPostview206
Definition: ModXact.h:335
void updateHistory(bool start)
starts or stops transaction accounting in ICAP history
Definition: ModXact.cc:2044
Definition: HttpHeader.h:74
Definition: AccessCheck.h:24
Definition: ModXact.h:141
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