]>
Commit | Line | Data |
---|---|---|
a0ec9f68 | 1 | /* |
4ac4a490 | 2 | * Copyright (C) 1996-2017 The Squid Software Foundation and contributors |
a0ec9f68 | 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. | |
a0ec9f68 | 7 | */ |
8 | ||
9 | #ifndef SQUID_ACLHTTPSTATUS_H | |
10 | #define SQUID_ACLHTTPSTATUS_H | |
63be0a78 | 11 | |
3ad63615 AR |
12 | #include "acl/Acl.h" |
13 | #include "acl/Checklist.h" | |
a0ec9f68 | 14 | #include "splay.h" |
15 | ||
63be0a78 | 16 | /// \ingroup ACLAPI |
26ac0430 | 17 | struct acl_httpstatus_data { |
a0ec9f68 | 18 | int status1, status2; |
19 | acl_httpstatus_data(int); | |
20 | acl_httpstatus_data(int, int); | |
2cb8d372 | 21 | SBuf toStr() const; // was toStr |
a0ec9f68 | 22 | |
23 | static int compare(acl_httpstatus_data* const& a, acl_httpstatus_data* const& b); | |
24 | }; | |
25 | ||
63be0a78 | 26 | /// \ingroup ACLAPI |
a0ec9f68 | 27 | class ACLHTTPStatus : public ACL |
28 | { | |
a0ec9f68 | 29 | MEMPROXY_CLASS(ACLHTTPStatus); |
30 | ||
741c2986 | 31 | public: |
a0ec9f68 | 32 | ACLHTTPStatus(char const *); |
33 | ACLHTTPStatus(ACLHTTPStatus const &); | |
34 | ~ACLHTTPStatus(); | |
35 | ACLHTTPStatus&operator=(ACLHTTPStatus const &); | |
36 | ||
37 | virtual ACL *clone()const; | |
38 | virtual char const *typeString() const; | |
39 | virtual void parse(); | |
40 | virtual int match(ACLChecklist *checklist); | |
8966008b | 41 | virtual SBufList dump() const; |
a0ec9f68 | 42 | virtual bool empty () const; |
79997741 | 43 | virtual bool requiresReply() const { return true; } |
a0ec9f68 | 44 | |
45 | protected: | |
4ac36eab | 46 | Splay<acl_httpstatus_data*> *data; |
a0ec9f68 | 47 | char const *class_; |
48 | }; | |
49 | ||
a0ec9f68 | 50 | #endif /* SQUID_ACLHTTPSTATUS_H */ |
f53969cc | 51 |