]> git.ipfire.org Git - thirdparty/squid.git/blob - src/auth/basic/UserRequest.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / auth / basic / UserRequest.h
1 /*
2 * Copyright (C) 1996-2017 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 #if HAVE_AUTH_MODULE_BASIC
13
14 #include "auth/UserRequest.h"
15
16 class ConnStateData;
17 class HttpRequest;
18
19 namespace Auth
20 {
21
22 namespace Basic
23 {
24
25 /* follows the http request around */
26
27 class UserRequest : public Auth::UserRequest
28 {
29 MEMPROXY_CLASS(Auth::Basic::UserRequest);
30
31 public:
32 UserRequest() {}
33 virtual ~UserRequest() { assert(LockCount()==0); }
34
35 virtual int authenticated() const;
36 virtual void authenticate(HttpRequest * request, ConnStateData *conn, Http::HdrType type);
37 virtual Auth::Direction module_direction();
38 virtual void startHelperLookup(HttpRequest * request, AccessLogEntry::Pointer &al, AUTHCB *, void *);
39 virtual const char *credentialsStr();
40
41 private:
42 static HLPCB HandleReply;
43 };
44
45 } // namespace Basic
46 } // namespace Auth
47
48 #endif /* HAVE_AUTH_MODULE_BASIC */
49 #endif /* _SQUID_SRC_AUTH_BASIC_USERREQUEST_H */
50