]> git.ipfire.org Git - thirdparty/squid.git/blob - src/mgr/ActionParams.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / mgr / ActionParams.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 /* DEBUG: section 16 Cache Manager API */
10
11 #ifndef SQUID_MGR_ACTION_PARAMS_H
12 #define SQUID_MGR_ACTION_PARAMS_H
13
14 #include "http/RequestMethod.h"
15 #include "ipc/forward.h"
16 #include "mgr/QueryParams.h"
17 #include "RequestFlags.h"
18
19 namespace Mgr
20 {
21
22 /// Cache Manager Action parameters extracted from the user request
23 class ActionParams
24 {
25 public:
26 ActionParams();
27
28 explicit ActionParams(const Ipc::TypedMsgHdr &msg); ///< load from msg
29 void pack(Ipc::TypedMsgHdr &msg) const; ///< store into msg
30
31 public:
32 /* details of the client HTTP request that caused the action */
33 String httpUri; ///< HTTP request URI
34 HttpRequestMethod httpMethod; ///< HTTP request method
35 RequestFlags httpFlags; ///< HTTP request flags
36 String httpOrigin; ///< HTTP Origin: header (if any)
37
38 /* action parameters extracted from the client HTTP request */
39 String actionName; ///< action name (and credentials realm)
40 String userName; ///< user login name; currently only used for logging
41 String password; ///< user password; used for acceptance check and cleared
42 QueryParams queryParams;
43 };
44
45 } // namespace Mgr
46
47 std::ostream &operator <<(std::ostream &os, const Mgr::ActionParams &params);
48
49 #endif /* SQUID_MGR_ACTION_PARAMS_H */
50