]> git.ipfire.org Git - thirdparty/squid.git/blame - src/acl/HttpStatus.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / acl / HttpStatus.h
CommitLineData
a0ec9f68 1/*
bde978a6 2 * Copyright (C) 1996-2015 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 17struct 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 27class ACLHTTPStatus : public ACL
28{
a0ec9f68 29 MEMPROXY_CLASS(ACLHTTPStatus);
30
741c2986 31public:
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
45protected:
46 static Prototype RegistryProtoype;
47 static ACLHTTPStatus RegistryEntry_;
4ac36eab 48 Splay<acl_httpstatus_data*> *data;
a0ec9f68 49 char const *class_;
50};
51
a0ec9f68 52#endif /* SQUID_ACLHTTPSTATUS_H */
f53969cc 53