Squid Web Cache master
Loading...
Searching...
No Matches
HeaderManglers Class Reference

A collection of headerMangler objects for a given message kind. More...

#include <HeaderMangling.h>

Collaboration diagram for HeaderManglers:
[legend]

Classes

class  NoCaseLessThan
 

Public Member Functions

 HeaderManglers ()
 
 ~HeaderManglers ()
 
const headerManglerfind (const HttpHeaderEntry &e) const
 returns a header mangler for field e or nil if none was specified
 
headerManglertrack (const char *name)
 returns a mangler for the named header (known or custom)
 
void setReplacement (const char *name, const char *replacementValue)
 updates mangler for the named header with a replacement value
 
void dumpAccess (StoreEntry *entry, const char *optionName) const
 report the *_header_access part of the configuration
 
void dumpReplacement (StoreEntry *entry, const char *optionName) const
 report the *_header_replace part of the configuration
 

Private Types

typedef std::map< std::string, headerMangler, NoCaseLessThanManglersByName
 a name:mangler map; optimize: use unordered map or some such
 

Private Member Functions

 HeaderManglers (const HeaderManglers &)
 
HeaderManglersoperator= (const HeaderManglers &)
 

Private Attributes

headerMangler known [static_cast< int >(Http::HdrType::enumEnd_)]
 one mangler for each known header
 
ManglersByName custom
 one mangler for each custom header
 
headerMangler all
 configured if some mangling ACL applies to all header names
 

Detailed Description

Definition at line 46 of file HeaderMangling.h.

Member Typedef Documentation

◆ ManglersByName

typedef std::map<std::string, headerMangler, NoCaseLessThan> HeaderManglers::ManglersByName
private

Definition at line 78 of file HeaderMangling.h.

Constructor & Destructor Documentation

◆ HeaderManglers() [1/2]

HeaderManglers::HeaderManglers ( )

Definition at line 143 of file HeaderMangling.cc.

References all, and known.

◆ ~HeaderManglers()

HeaderManglers::~HeaderManglers ( )

Definition at line 149 of file HeaderMangling.cc.

References all, custom, header_mangler_clean(), and known.

◆ HeaderManglers() [2/2]

HeaderManglers::HeaderManglers ( const HeaderManglers )
private

Member Function Documentation

◆ dumpAccess()

void HeaderManglers::dumpAccess ( StoreEntry entry,
const char *  optionName 
) const

◆ dumpReplacement()

void HeaderManglers::dumpReplacement ( StoreEntry entry,
const char *  optionName 
) const

◆ find()

const headerMangler * HeaderManglers::find ( const HttpHeaderEntry e) const

◆ operator=()

HeaderManglers & HeaderManglers::operator= ( const HeaderManglers )
private

◆ setReplacement()

void HeaderManglers::setReplacement ( const char *  name,
const char *  replacementValue 
)

Definition at line 204 of file HeaderMangling.cc.

References headerMangler::replacement, safe_free, track(), and xstrdup.

Referenced by parse_http_header_replace().

◆ track()

headerMangler * HeaderManglers::track ( const char *  name)

Member Data Documentation

◆ all

headerMangler HeaderManglers::all
private

◆ custom

ManglersByName HeaderManglers::custom
private

Definition at line 84 of file HeaderMangling.h.

Referenced by ~HeaderManglers(), dumpAccess(), dumpReplacement(), find(), and track().

◆ known

headerMangler HeaderManglers::known[static_cast< int >(Http::HdrType::enumEnd_)]
private

The documentation for this class was generated from the following files: