#include <Notes.h>
![Inheritance graph](classNote__inherit__graph.png)
![Collaboration graph](classNote__coll__graph.png)
Classes | |
class | Value |
Stores a value for the note. More... | |
Public Types | |
typedef RefCount< Note > | Pointer |
typedef std::vector< Value::Pointer > | Values |
Public Member Functions | |
Note (const char *aKey, const size_t keyLen) | |
Note (const SBuf aKey) | |
Note (const Note &)=delete | |
Note & | operator= (const Note &)=delete |
Value::Pointer | addValue (const char *value, const bool quoted, const char *descr, const Value::Method m=Value::mhAppend) |
bool | match (HttpRequest *request, HttpReply *reply, const AccessLogEntryPointer &al, SBuf &matched) |
const SBuf & | key () const |
void | updateNotePairs (NotePairsPointer pairs, const CharacterSet *delimiters, const AccessLogEntryPointer &al) |
void | printAsNoteDirective (StoreEntry *, const char *directiveName) const |
Prints key and value(s) using a "note" directive format (including directive name). More... | |
void | printAsAnnotationAclParameters (std::ostream &) const |
Private Attributes | |
SBuf | theKey |
The note key. More... | |
Values | values |
The possible values list for the note. More... | |
Detailed Description
Used to store a note configuration. The notes are custom key:value pairs ICAP request headers or ECAP options used to pass custom transaction-state related meta information to squid internal subsystems or to adaptation services.
Member Typedef Documentation
◆ Pointer
typedef RefCount<Note> Note::Pointer |
◆ Values
typedef std::vector<Value::Pointer> Note::Values |
Constructor & Destructor Documentation
◆ Note() [1/3]
◆ Note() [2/3]
◆ Note() [3/3]
|
delete |
Member Function Documentation
◆ addValue()
Note::Value::Pointer Note::addValue | ( | const char * | value, |
const bool | quoted, | ||
const char * | descr, | ||
const Value::Method | m = Value::mhAppend |
||
) |
◆ key()
|
inline |
Definition at line 92 of file Notes.h.
References theKey.
Referenced by printAsAnnotationAclParameters(), printAsNoteDirective(), and updateNotePairs().
◆ match()
bool Note::match | ( | HttpRequest * | request, |
HttpReply * | reply, | ||
const AccessLogEntryPointer & | al, | ||
SBuf & | matched | ||
) |
Walks through the possible values list of the note, selects the first value, matching the given HttpRequest and HttpReply and assigns the given 'matched' to it.
- Returns
- true if matched, false otherwise
Definition at line 70 of file Notes.cc.
References assert, SBuf::clear(), debugs, ACLChecklist::fastCheck(), ACLFilledChecklist::syncAle(), theKey, ACLFilledChecklist::updateAle(), ACLFilledChecklist::updateReply(), and values.
◆ operator=()
◆ printAsAnnotationAclParameters()
void Note::printAsAnnotationAclParameters | ( | std::ostream & | os | ) | const |
Prints using "annotate_transaction acl parameter" format, one key=value or key+=value parameter per stored value.
Definition at line 126 of file Notes.cc.
References key(), Note::Value::mhReplace, and values.
◆ printAsNoteDirective()
void Note::printAsNoteDirective | ( | StoreEntry * | entry, |
const char * | directiveName | ||
) | const |
Definition at line 106 of file Notes.cc.
References Acl::AllowOrDeny(), key(), ConfigParser::QuoteString(), SBufToString(), Acl::ToTree(), Acl::Tree::treeDump(), and values.
◆ updateNotePairs()
void Note::updateNotePairs | ( | NotePairsPointer | pairs, |
const CharacterSet * | delimiters, | ||
const AccessLogEntryPointer & | al | ||
) |
Definition at line 92 of file Notes.cc.
References NotePairs::add(), NotePairs::addStrList(), NotePairs::empty(), key(), Note::Value::mhReplace, NotePairs::remove(), theKey, and values.
Member Data Documentation
◆ theKey
|
private |
Definition at line 103 of file Notes.h.
Referenced by key(), match(), and updateNotePairs().
◆ values
|
private |
Definition at line 104 of file Notes.h.
Referenced by addValue(), match(), printAsAnnotationAclParameters(), printAsNoteDirective(), and updateNotePairs().
The documentation for this class was generated from the following files:
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