2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 #ifndef SQUID_ACLHTTPREQHEADER_H
10 #define SQUID_ACLHTTPREQHEADER_H
12 #include "acl/Strategised.h"
13 #include "acl/Strategy.h"
14 #include "HttpHeader.h"
17 class ACLHTTPReqHeaderStrategy
: public ACLStrategy
<HttpHeader
*>
21 virtual int match (ACLData
<MatchType
> * &, ACLFilledChecklist
*, ACLFlags
&);
22 virtual bool requiresRequest() const { return true; }
24 static ACLHTTPReqHeaderStrategy
*Instance();
25 /* Not implemented to prevent copies of the instance. */
26 /* Not private to prevent brain dead g+++ warnings about
27 * private constructors with no friends */
28 ACLHTTPReqHeaderStrategy(ACLHTTPReqHeaderStrategy
const &);
31 static ACLHTTPReqHeaderStrategy Instance_
;
32 ACLHTTPReqHeaderStrategy() { }
34 ACLHTTPReqHeaderStrategy
&operator = (ACLHTTPReqHeaderStrategy
const &);
38 class ACLHTTPReqHeader
42 static ACL::Prototype RegistryProtoype
;
43 static ACLStrategised
<HttpHeader
*> RegistryEntry_
;
46 #endif /* SQUID_ACLHTTPREQHEADER_H */