]> git.ipfire.org Git - thirdparty/squid.git/blob - src/auth/basic/UserRequest.h
Cleanup: Simplify MEMPROXY_CLASS_* macros
[thirdparty/squid.git] / src / auth / basic / UserRequest.h
1 /*
2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
3 *
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.
7 */
8
9 #ifndef _SQUID_SRC_AUTH_BASIC_USERREQUEST_H
10 #define _SQUID_SRC_AUTH_BASIC_USERREQUEST_H
11
12 #include "auth/UserRequest.h"
13 #include "MemPool.h"
14
15 class ConnStateData;
16 class HttpRequest;
17
18 namespace Auth
19 {
20
21 namespace Basic
22 {
23
24 /* follows the http request around */
25
26 class UserRequest : public Auth::UserRequest
27 {
28 MEMPROXY_CLASS(Auth::Basic::UserRequest);
29
30 public:
31 UserRequest() {}
32 virtual ~UserRequest() { assert(LockCount()==0); }
33
34 virtual int authenticated() const;
35 virtual void authenticate(HttpRequest * request, ConnStateData *conn, http_hdr_type type);
36 virtual Auth::Direction module_direction();
37 virtual void startHelperLookup(HttpRequest * request, AccessLogEntry::Pointer &al, AUTHCB *, void *);
38 virtual const char *credentialsStr();
39
40 private:
41 static HLPCB HandleReply;
42 };
43
44 } // namespace Basic
45 } // namespace Auth
46
47 #endif /* _SQUID_SRC_AUTH_BASIC_USERREQUEST_H */