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