]>
Commit | Line | Data |
---|---|---|
00634927 | 1 | /* |
bbc27441 | 2 | * Copyright (C) 1996-2014 The Squid Software Foundation and contributors |
00634927 | 3 | * |
bbc27441 AJ |
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. | |
00634927 | 7 | */ |
bbc27441 | 8 | |
7df0bfd7 | 9 | #ifndef SQUID_ACLHTTPHEADERDATA_H |
10 | #define SQUID_ACLHTTPHEADERDATA_H | |
63be0a78 | 11 | |
e1f7507e AJ |
12 | class HttpHeader; |
13 | class wordlist; | |
14 | ||
15 | /* becaue we inherit from it */ | |
3ad63615 | 16 | #include "acl/Data.h" |
e1f7507e AJ |
17 | /* for String field */ |
18 | #include "SquidString.h" | |
19 | /* for http_hdr_type field */ | |
20 | #include "HttpHeader.h" | |
21 | /* because weuse its MEMPROXY_CLASS() macros */ | |
22 | #include "MemPool.h" | |
00634927 | 23 | |
63be0a78 | 24 | /// \ingroup ACLAPI |
00634927 | 25 | class ACLHTTPHeaderData : public ACLData<HttpHeader*> |
26 | { | |
27 | ||
28 | public: | |
29 | MEMPROXY_CLASS(ACLHTTPHeaderData); | |
30 | ||
7df0bfd7 | 31 | ACLHTTPHeaderData(); |
00634927 | 32 | virtual ~ACLHTTPHeaderData(); |
33 | virtual bool match(HttpHeader* hdr); | |
4f8ca96e | 34 | virtual SBufList dump() const; |
00634927 | 35 | virtual void parse(); |
36 | virtual bool empty() const; | |
37 | virtual ACLData<HttpHeader*> *clone() const; | |
38 | ||
39 | private: | |
e1f7507e AJ |
40 | http_hdr_type hdrId; /**< set if header is known */ |
41 | String hdrName; /**< always set */ | |
7df0bfd7 | 42 | ACLData<char const *> * regex_rule; |
00634927 | 43 | }; |
44 | ||
e1f7507e | 45 | MEMPROXY_CLASS_INLINE(ACLHTTPHeaderData); |
00634927 | 46 | |
7df0bfd7 | 47 | #endif /* SQUID_ACLHTTPHEADERDATA_H */ |