xref: /openbmc/bmcweb/include/async_resp.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3 #pragma once
4 
5 #include "http_response.hpp"
6 
7 #include <functional>
8 
9 namespace bmcweb
10 {
11 
12 /**
13  * AsyncResp
14  * Gathers data needed for response processing after async calls are done
15  */
16 
17 class AsyncResp
18 {
19   public:
20     AsyncResp() = default;
21     explicit AsyncResp(crow::Response&& resIn) : res(std::move(resIn)) {}
22 
23     AsyncResp(const AsyncResp&) = delete;
24     AsyncResp(AsyncResp&&) = delete;
25     AsyncResp& operator=(const AsyncResp&) = delete;
26     AsyncResp& operator=(AsyncResp&&) = delete;
27 
28     ~AsyncResp()
29     {
30         res.end();
31     }
32 
33     crow::Response res;
34 };
35 
36 } // namespace bmcweb
37