|
Squid Web Cache master
|
A collection of headerMangler objects for a given message kind. More...
#include <HeaderMangling.h>
Classes | |
| class | NoCaseLessThan |
Public Member Functions | |
| HeaderManglers () | |
| ~HeaderManglers () | |
| const headerMangler * | find (const HttpHeaderEntry &e) const |
| returns a header mangler for field e or nil if none was specified | |
| headerMangler * | track (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, NoCaseLessThan > | ManglersByName |
| a name:mangler map; optimize: use unordered map or some such | |
Private Member Functions | |
| HeaderManglers (const HeaderManglers &) | |
| HeaderManglers & | operator= (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 | |
Definition at line 46 of file HeaderMangling.h.
|
private |
Definition at line 78 of file HeaderMangling.h.
| HeaderManglers::HeaderManglers | ( | ) |
Definition at line 143 of file HeaderMangling.cc.
| HeaderManglers::~HeaderManglers | ( | ) |
Definition at line 149 of file HeaderMangling.cc.
References all, custom, header_mangler_clean(), and known.
|
private |
| void HeaderManglers::dumpAccess | ( | StoreEntry * | entry, |
| const char * | optionName | ||
| ) | const |
Definition at line 161 of file HeaderMangling.cc.
References all, custom, header_mangler_dump_access(), Http::HeaderLookupTable, and known.
Referenced by dump_http_header_access().
| void HeaderManglers::dumpReplacement | ( | StoreEntry * | entry, |
| const char * | optionName | ||
| ) | const |
Definition at line 173 of file HeaderMangling.cc.
References all, custom, header_mangler_dump_replacement(), Http::HeaderLookupTable, and known.
Referenced by dump_http_header_replace().
| const headerMangler * HeaderManglers::find | ( | const HttpHeaderEntry & | e | ) | const |
Definition at line 215 of file HeaderMangling.cc.
References headerMangler::access_list, all, Http::any_HdrType_enum_value(), SBuf::c_str(), custom, HttpHeaderEntry::id, known, HttpHeaderEntry::name, and Http::OTHER.
Referenced by httpHdrMangle().
|
private |
| 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().
| headerMangler * HeaderManglers::track | ( | const char * | name | ) |
Definition at line 187 of file HeaderMangling.cc.
References all, Http::BAD_HDR, custom, Http::HeaderLookupTable, Http::HeaderTableRecord::id, known, Http::HeaderLookupTable_t::lookup(), and Http::OTHER.
Referenced by parse_http_header_access(), and setReplacement().
|
private |
Definition at line 87 of file HeaderMangling.h.
Referenced by HeaderManglers(), ~HeaderManglers(), dumpAccess(), dumpReplacement(), find(), and track().
|
private |
Definition at line 84 of file HeaderMangling.h.
Referenced by ~HeaderManglers(), dumpAccess(), dumpReplacement(), find(), and track().
|
private |
Definition at line 81 of file HeaderMangling.h.
Referenced by HeaderManglers(), ~HeaderManglers(), dumpAccess(), dumpReplacement(), find(), and track().