]> git.ipfire.org Git - thirdparty/squid.git/blame - src/acl/HttpHeaderData.h
Boilerplate: update copyright blurbs on src/
[thirdparty/squid.git] / src / acl / HttpHeaderData.h
CommitLineData
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
12class HttpHeader;
13class 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 25class ACLHTTPHeaderData : public ACLData<HttpHeader*>
26{
27
28public:
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
39private:
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 45MEMPROXY_CLASS_INLINE(ACLHTTPHeaderData);
00634927 46
7df0bfd7 47#endif /* SQUID_ACLHTTPHEADERDATA_H */