HttpHeaderTools.h File Reference
#include "acl/forward.h"
#include "format/Format.h"
#include "HttpHeader.h"
#include "sbuf/forward.h"
#include <functional>
#include <list>
#include <map>
#include <string>
Include dependency graph for HttpHeaderTools.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  headerMangler
class  HeaderManglers
 A collection of headerMangler objects for a given message kind. More...
class  HeaderManglers::NoCaseLessThan
class  HeaderWithAcl


typedef std::list< HeaderWithAclHeaderWithAclList


enum  req_or_rep_t {


bool httpHeaderParseOffset (const char *start, int64_t *offPtr, char **endPtr=nullptr)
bool httpHeaderHasConnDir (const HttpHeader *hdr, const SBuf &directive)
int httpHeaderParseInt (const char *start, int *val)
void httpHeaderPutStrf (HttpHeader *hdr, Http::HdrType id, const char *fmt,...) PRINTF_FORMAT_ARG3
const char * getStringPrefix (const char *str, size_t len)
void httpHdrMangleList (HttpHeader *, HttpRequest *, const AccessLogEntryPointer &al, req_or_rep_t req_or_rep)

Typedef Documentation

typedef std::list<HeaderWithAcl> HeaderWithAclList

Definition at line 28 of file HttpHeaderTools.h.

Enumeration Type Documentation


Definition at line 33 of file HttpHeaderTools.h.

Function Documentation

const char* getStringPrefix ( const char *  str,
size_t  sz 

handy to printf prefixes of potentially very long buffers

Definition at line 109 of file

References buf, LOCAL_ARRAY, SHORT_PREFIX_SIZE, and xstrncpy().

Referenced by HttpHeaderEntry::parse(), and HttpHeader::parse().

bool httpHeaderHasConnDir ( const HttpHeader hdr,
const SBuf directive 
true if a given directive is found in the Connection header field-value.
if no Connection header exists we may check the Proxy-Connection header

Definition at line 90 of file

References Http::CONNECTION, HttpHeader::getList(), Http::PROXY_CONNECTION, and strListIsMember().

Referenced by Adaptation::Icap::ModXact::parseIcapHead(), Adaptation::Icap::OptXact::parseResponse(), Http::Message::persistent(), and HttpStateData::statusIfComplete().

int httpHeaderParseInt ( const char *  start,
int value 

parses an int field, complains if soemthing went wrong, returns true on success

Definition at line 122 of file

References assert, debugs, and xisdigit.

Referenced by HttpHeaderEntry::getInt(), HttpHdrSc::parse(), and HttpHdrCc::parse().

bool httpHeaderParseOffset ( const char *  start,
int64_t *  offPtr,
char **  endPtr = nullptr 

A strtoll(10) wrapper that checks for strtoll() failures and other problems. XXX: This function is not fully compatible with some HTTP syntax rules. Just like strtoll(), allows whitespace prefix, a sign, and any suffix. Requires at least one digit to be present. Sets "off" and "end" arguments if and only if no problems were found.

true if and only if no problems were found.

Definition at line 136 of file

References debugs, and strtoll().

Referenced by Http::ContentLengthInterpreter::checkValue(), HttpHeaderEntry::getInt64(), httpHdrContRangeParseInit(), httpHdrRangeRespSpecParseInit(), and HttpHdrRangeSpec::parseInit().






Web Site Translations