9#ifndef SQUID_SRC_ACL_TREE_H
10#define SQUID_SRC_ACL_TREE_H
29 template <
class ActionToStringConverter>
55 return action.
allowed() ?
"allow" :
"deny";
58template <
class ActionToStringConverter>
64 typedef Nodes::const_iterator NCI;
70 static const SBuf DefaultActString(
"???");
71 const char *act = converter(*action);
Nodes nodes
children of this intermediate node
bool bannedAction(ACLChecklist *, Nodes::const_iterator) const override
Acl::OrNode API.
Answer actionAt(const Nodes::size_type pos) const
computes action that corresponds to the position of the matched rule
void add(Acl::Node *rule, const Answer &action)
appends and takes control over the rule with a given action
Answer winningAction() const
Returns the corresponding action after a successful tree match.
std::vector< Answer > Actions
if not empty, contains actions corresponding to InnerNode::nodes
Answer lastAction() const
what action to use if no nodes matched
SBufList treeDump(const char *name, ActionToStringConverter converter) const
void push_back(char)
Append a single character. The character may be NUL (\0).
const_iterator begin() const
const_iterator end() const
const char * AllowOrDeny(const Answer &action)
std::list< SBuf > SBufList
SBuf text("GET http://resource.com/path HTTP/1.1\r\n" "Host: resource.com\r\n" "Cookie: laijkpk3422r j1noin \r\n" "\r\n")