xref: /openbmc/bmcweb/features/redfish/include/sub_request.hpp (revision fdf51f5c824273aafaa9262932735ca443db23eb)
1*fdf51f5cSRohit PAI // SPDX-License-Identifier: Apache-2.0
2*fdf51f5cSRohit PAI // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3*fdf51f5cSRohit PAI #pragma once
4*fdf51f5cSRohit PAI 
5*fdf51f5cSRohit PAI #include "http_request.hpp"
6*fdf51f5cSRohit PAI 
7*fdf51f5cSRohit PAI #include <boost/beast/http/verb.hpp>
8*fdf51f5cSRohit PAI 
9*fdf51f5cSRohit PAI #include <string>
10*fdf51f5cSRohit PAI #include <string_view>
11*fdf51f5cSRohit PAI 
12*fdf51f5cSRohit PAI namespace redfish
13*fdf51f5cSRohit PAI {
14*fdf51f5cSRohit PAI 
15*fdf51f5cSRohit PAI class SubRequest
16*fdf51f5cSRohit PAI {
17*fdf51f5cSRohit PAI   public:
18*fdf51f5cSRohit PAI     explicit SubRequest(const crow::Request& req) :
19*fdf51f5cSRohit PAI         url_(req.url().encoded_path()), method_(req.method())
20*fdf51f5cSRohit PAI     {}
21*fdf51f5cSRohit PAI 
22*fdf51f5cSRohit PAI     std::string_view url() const
23*fdf51f5cSRohit PAI     {
24*fdf51f5cSRohit PAI         return url_;
25*fdf51f5cSRohit PAI     }
26*fdf51f5cSRohit PAI 
27*fdf51f5cSRohit PAI     boost::beast::http::verb method() const
28*fdf51f5cSRohit PAI     {
29*fdf51f5cSRohit PAI         return method_;
30*fdf51f5cSRohit PAI     }
31*fdf51f5cSRohit PAI 
32*fdf51f5cSRohit PAI   private:
33*fdf51f5cSRohit PAI     std::string url_;
34*fdf51f5cSRohit PAI     boost::beast::http::verb method_;
35*fdf51f5cSRohit PAI };
36*fdf51f5cSRohit PAI 
37*fdf51f5cSRohit PAI } // namespace redfish
38