UserRequest.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 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  ~UserRequest() override { assert(LockCount()==0); }
34 
35  bool authenticated() const override;
36  void authenticate(HttpRequest * request, ConnStateData *conn, Http::HdrType type) override;
37  Auth::Direction module_direction() override;
38  void startHelperLookup(HttpRequest * request, AccessLogEntry::Pointer &al, AUTHCB *, void *) override;
39  const char *credentialsStr() override;
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 
HTTP Authentication.
Definition: Config.h:18
static void authenticate(int socket_fd, const char *username, const char *passwd)
Direction
Definition: UserRequest.h:64
#define assert(EX)
Definition: assert.h:17
#define MEMPROXY_CLASS(CLASS)
void HLPCB(void *, const Helper::Reply &)
Definition: forward.h:33
void AUTHCB(void *)
Definition: UserRequest.h:57

 

Introduction

Documentation

Support

Miscellaneous