HttpHeader.h
Go to the documentation of this file.
57 static HttpHeaderEntry *parse(const char *field_start, const char *field_end, const http_hdr_owner_type msgType);
98 int parse(const char *buf, size_t buf_len, bool atEnd, size_t &hdr_sz, Http::ContentLengthInterpreter &interpreter);
189 static bool Isolate(const char **parse_start, size_t l, const char **blk_start, const char **blk_end);
225void httpHeaderCalcMask(HttpHeaderMask * mask, Http::HdrType http_hdr_type_enums[], size_t count);
SBuf httpHeaderQuoteString(const char *raw)
quotes string using RFC 7230 quoted-string rules
Definition: HttpHeaderTools.cc:247
void httpHeaderCalcMask(HttpHeaderMask *mask, Http::HdrType http_hdr_type_enums[], size_t count)
int httpHeaderParseQuotedString(const char *start, const int len, String *val)
Definition: HttpHeaderTools.cc:168
Definition: ProtocolVersion.h:24
Definition: HttpHdrCc.h:44
Definition: HttpHdrContRange.h:18
Definition: HttpHeaderRange.h:52
Definition: HttpHdrSc.h:25
Definition: HttpHeader.h:51
static HttpHeaderEntry * parse(const char *field_start, const char *field_end, const http_hdr_owner_type msgType)
Definition: HttpHeader.cc:1393
MEMPROXY_CLASS(HttpHeaderEntry)
size_t length() const
expected number of bytes written by packInto(), including ": " and CRLF
Definition: HttpHeader.h:64
HttpHeaderEntry(Http::HdrType id, const SBuf &name, const char *value)
Definition: HttpHeader.cc:1361
Definition: HttpHeader.h:75
SBuf getByNameListMember(const char *name, const char *member, const char separator) const
Definition: HttpHeader.cc:918
TimeOrTag getTimeOrTag(Http::HdrType id) const
Definition: HttpHeader.cc:1331
bool getByIdIfPresent(Http::HdrType id, String *result) const
Definition: HttpHeader.cc:872
int hasByNameListMember(const char *name, const char *member, const char separator) const
Definition: HttpHeader.cc:1687
bool unsupportedTe() const
whether message used an unsupported and/or invalid Transfer-Encoding
Definition: HttpHeader.h:172
int parse(const char *header_start, size_t len, Http::ContentLengthInterpreter &interpreter)
Definition: HttpHeader.cc:350
SBuf getListMember(Http::HdrType id, const char *member, const char separator) const
Definition: HttpHeader.cc:929
SBuf getAuthToken(Http::HdrType id, const char *auth_scheme) const
Definition: HttpHeader.cc:1276
HttpHeaderEntry * getEntry(HttpHeaderPos *pos) const
Definition: HttpHeader.cc:584
static bool Isolate(const char **parse_start, size_t l, const char **blk_start, const char **blk_end)
Definition: HttpHeader.cc:302
std::vector< HttpHeaderEntry *, PoolingAllocator< HttpHeaderEntry * > > entries
Definition: HttpHeader.h:175
void removeConnectionHeaderEntries()
Definition: HttpHeader.cc:1728
void addVia(const AnyP::ProtocolVersion &ver, const HttpHeader *from=nullptr)
Definition: HttpHeader.cc:946
bool conflictingContentLength() const
Definition: HttpHeader.h:113
bool hasNamed(const SBuf &s, String *value=nullptr) const
Definition: HttpHeader.cc:866
HttpHeaderEntry * findEntry(Http::HdrType id) const
Definition: HttpHeader.cc:603
void putAuth(const char *auth_scheme, const char *realm)
Definition: HttpHeader.cc:1005
void updateOrAddStr(Http::HdrType, const SBuf &)
Definition: HttpHeader.cc:1084
void packInto(Packable *p, bool mask_sensitive_info=false) const
Definition: HttpHeader.cc:540
HttpHeaderEntry * findLastEntry(Http::HdrType id) const
Definition: HttpHeader.cc:628
bool skipUpdateHeader(const Http::HdrType id) const
Definition: HttpHeader.cc:259
int hasListMember(Http::HdrType id, const char *member, const char separator) const
Definition: HttpHeader.cc:1663
Definition: Packable.h:53
Definition: SquidString.h:26
Definition: TimeOrTag.h:18
Definition: forward.h:18
SBuf SlowlyParseQuotedString(const char *description, const char *start, size_t length)
Definition: HttpHeaderTools.cc:238