| #pragma once |
| |
| #include <functional> |
| |
| namespace bmcweb |
| { |
| |
| /** |
| * AsyncResp |
| * Gathers data needed for response processing after async calls are done |
| */ |
| |
| class AsyncResp |
| { |
| public: |
| AsyncResp(crow::Response& response) : res(response) |
| { |
| } |
| |
| AsyncResp(crow::Response& response, std::function<void()>&& function) : |
| res(response), func(std::move(function)) |
| { |
| } |
| |
| ~AsyncResp() |
| { |
| if (func && res.result() == boost::beast::http::status::ok) |
| { |
| func(); |
| } |
| |
| res.end(); |
| } |
| |
| crow::Response& res; |
| std::function<void()> func = 0; |
| }; |
| |
| } // namespace bmcweb |