]> git.ipfire.org Git - thirdparty/squid.git/blame - src/mgr/ActionParams.h
Source Format Enforcement (#763)
[thirdparty/squid.git] / src / mgr / ActionParams.h
CommitLineData
8822ebee 1/*
f70aedc4 2 * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
8822ebee 3 *
bbc27441
AJ
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.
8822ebee
AR
7 */
8
bbc27441
AJ
9/* DEBUG: section 16 Cache Manager API */
10
8822ebee
AR
11#ifndef SQUID_MGR_ACTION_PARAMS_H
12#define SQUID_MGR_ACTION_PARAMS_H
13
f35c0145 14#include "http/RequestMethod.h"
8822ebee 15#include "ipc/forward.h"
b8151fa1 16#include "mgr/QueryParams.h"
f206b652 17#include "RequestFlags.h"
8822ebee
AR
18
19namespace Mgr
20{
21
22/// Cache Manager Action parameters extracted from the user request
23class ActionParams
24{
25public:
26 ActionParams();
27
28 explicit ActionParams(const Ipc::TypedMsgHdr &msg); ///< load from msg
29 void pack(Ipc::TypedMsgHdr &msg) const; ///< store into msg
30
31public:
32 /* details of the client HTTP request that caused the action */
33 String httpUri; ///< HTTP request URI
c2a7cefd 34 HttpRequestMethod httpMethod; ///< HTTP request method
f206b652 35 RequestFlags httpFlags; ///< HTTP request flags
3865965d 36 String httpOrigin; ///< HTTP Origin: header (if any)
8822ebee
AR
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
b8151fa1 42 QueryParams queryParams;
8822ebee
AR
43};
44
45} // namespace Mgr
46
47std::ostream &operator <<(std::ostream &os, const Mgr::ActionParams &params);
48
49#endif /* SQUID_MGR_ACTION_PARAMS_H */
f53969cc 50