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