]>
Commit | Line | Data |
---|---|---|
00634927 | 1 | /* |
b8ae064d | 2 | * Copyright (C) 1996-2023 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 | |
ff9d9458 FC |
9 | #ifndef SQUID_SRC_ACL_HTTPHEADERDATA_H |
10 | #define SQUID_SRC_ACL_HTTPHEADERDATA_H | |
63be0a78 | 11 | |
3ad63615 | 12 | #include "acl/Data.h" |
e1f7507e | 13 | #include "HttpHeader.h" |
65e41a45 | 14 | #include "sbuf/SBuf.h" |
b367a435 | 15 | #include "SquidString.h" |
00634927 | 16 | |
47c9c937 | 17 | class ACLHTTPHeaderData: public ACLData<const HttpHeader &> |
00634927 | 18 | { |
00634927 | 19 | MEMPROXY_CLASS(ACLHTTPHeaderData); |
20 | ||
741c2986 | 21 | public: |
7df0bfd7 | 22 | ACLHTTPHeaderData(); |
337b9aa4 | 23 | ~ACLHTTPHeaderData() override; |
47c9c937 | 24 | bool match(const HttpHeader &) override; |
337b9aa4 AR |
25 | SBufList dump() const override; |
26 | void parse() override; | |
27 | bool empty() const override; | |
00634927 | 28 | |
29 | private: | |
8d76389c | 30 | /* ACLData API */ |
337b9aa4 | 31 | const Acl::Options &lineOptions() override; |
8d76389c | 32 | |
81ab22b6 FC |
33 | Http::HdrType hdrId; /**< set if header is known */ |
34 | SBuf hdrName; /**< always set */ | |
7df0bfd7 | 35 | ACLData<char const *> * regex_rule; |
00634927 | 36 | }; |
37 | ||
ff9d9458 | 38 | #endif /* SQUID_SRC_ACL_HTTPHEADERDATA_H */ |
f53969cc | 39 |