}
bool
-ACLHTTPHeaderData::match(HttpHeader* hdr)
+ACLHTTPHeaderData::match(const HttpHeader &hdr)
{
- if (hdr == nullptr)
- return false;
-
debugs(28, 3, "aclHeaderData::match: checking '" << hdrName << "'");
String value;
if (hdrId != Http::HdrType::BAD_HDR) {
- if (!hdr->has(hdrId))
+ if (!hdr.has(hdrId))
return false;
- value = hdr->getStrOrList(hdrId);
+ value = hdr.getStrOrList(hdrId);
} else {
- if (!hdr->hasNamed(hdrName, &value))
+ if (!hdr.hasNamed(hdrName, &value))
return false;
}
#include "sbuf/SBuf.h"
#include "SquidString.h"
-class ACLHTTPHeaderData : public ACLData<HttpHeader*>
+class ACLHTTPHeaderData: public ACLData<const HttpHeader &>
{
MEMPROXY_CLASS(ACLHTTPHeaderData);
public:
ACLHTTPHeaderData();
~ACLHTTPHeaderData() override;
- bool match(HttpHeader* hdr) override;
+ bool match(const HttpHeader &) override;
SBufList dump() const override;
void parse() override;
bool empty() const override;
#include "squid.h"
#include "acl/FilledChecklist.h"
-#include "acl/HttpHeaderData.h"
#include "acl/HttpRepHeader.h"
#include "HttpReply.h"
int
Acl::HttpRepHeaderCheck::match(ACLChecklist * const ch)
{
- const auto checklist = Filled(ch);
-
- return data->match (&checklist->reply->header);
+ return data->match(Filled(ch)->reply->header);
}
#include "acl/Data.h"
#include "acl/ParameterizedNode.h"
-#include "HttpHeader.h"
+#include "http/forward.h"
namespace Acl
{
/// a "rep_header" ACL
-class HttpRepHeaderCheck: public ParameterizedNode< ACLData<HttpHeader*> >
+class HttpRepHeaderCheck: public ParameterizedNode< ACLData<const HttpHeader &> >
{
public:
/* Acl::Node API */
#include "squid.h"
#include "acl/FilledChecklist.h"
-#include "acl/HttpHeaderData.h"
#include "acl/HttpReqHeader.h"
#include "HttpRequest.h"
int
Acl::HttpReqHeaderCheck::match(ACLChecklist * const ch)
{
- const auto checklist = Filled(ch);
-
- return data->match (&checklist->request->header);
+ return data->match(Filled(ch)->request->header);
}
#include "acl/Data.h"
#include "acl/ParameterizedNode.h"
-#include "HttpHeader.h"
+#include "http/forward.h"
namespace Acl
{
/// a "req_header" ACL
-class HttpReqHeaderCheck: public ParameterizedNode< ACLData<HttpHeader*> >
+class HttpReqHeaderCheck: public ParameterizedNode< ACLData<const HttpHeader &> >
{
public:
/* Acl::Node API */
class HttpHdrSc;
+class HttpHeader;
+
class HttpRequestMethod;
class HttpRequest;