| #ifndef THIRD_PARTY_MILOTIC_INTERNAL_CC_PROXY_REQUEST_RESPONSE_H_ |
| #define THIRD_PARTY_MILOTIC_INTERNAL_CC_PROXY_REQUEST_RESPONSE_H_ |
| |
| #include <string> |
| #include <utility> |
| |
| #include "redfish_query_engine/http/client.h" |
| |
| namespace milotic { |
| |
| struct ProxyRequest : public ecclesia::HttpClient::HttpRequest { |
| ProxyRequest() = default; |
| |
| explicit ProxyRequest(ecclesia::HttpClient::HttpRequest request) |
| : ecclesia::HttpClient::HttpRequest{ |
| .uri = std::move(request.uri), |
| .unix_socket_path = std::move(request.unix_socket_path), |
| .body = std::move(request.body), |
| .headers = std::move(request.headers)} {} |
| |
| ProxyRequest(std::string uri_, std::string unix_socket_path_, |
| std::string body_, ecclesia::HttpClient::HttpHeaders headers_) |
| : ecclesia::HttpClient::HttpRequest{ |
| .uri = std::move(uri_), |
| .unix_socket_path = std::move(unix_socket_path_), |
| .body = std::move(body_), |
| .headers = std::move(headers_)} {} |
| |
| explicit ProxyRequest(std::string uri_) |
| : ecclesia::HttpClient::HttpRequest{.uri = std::move(uri_)} {} |
| }; |
| |
| struct ProxyResponse : public ecclesia::HttpClient::HttpResponse { |
| ProxyResponse() = default; |
| |
| explicit ProxyResponse(ecclesia::HttpClient::HttpResponse response) |
| : ecclesia::HttpClient::HttpResponse{ |
| .code = response.code, |
| .body = std::move(response.body), |
| .headers = std::move(response.headers)} {} |
| |
| ProxyResponse(int code_, std::string body_, |
| ecclesia::HttpClient::HttpHeaders headers_) |
| : ecclesia::HttpClient::HttpResponse{.code = code_, |
| .body = std::move(body_), |
| .headers = std::move(headers_)} {} |
| |
| ProxyResponse(int code_, std::string body_) |
| : ecclesia::HttpClient::HttpResponse{.code = code_, |
| .body = std::move(body_)} {} |
| ProxyResponse(int code_, ecclesia::HttpClient::HttpHeaders headers_) |
| : ecclesia::HttpClient::HttpResponse{.code = code_, |
| .headers = std::move(headers_)} {} |
| ProxyResponse(std::string body_, ecclesia::HttpClient::HttpHeaders headers_) |
| : ecclesia::HttpClient::HttpResponse{.body = std::move(body_), |
| .headers = std::move(headers_)} {} |
| |
| explicit ProxyResponse(int code_) |
| : ecclesia::HttpClient::HttpResponse{.code = code_} {} |
| explicit ProxyResponse(std::string body_) |
| : ecclesia::HttpClient::HttpResponse{.body = std::move(body_)} {} |
| explicit ProxyResponse(ecclesia::HttpClient::HttpHeaders headers_) |
| : ecclesia::HttpClient::HttpResponse{.headers = std::move(headers_)} {} |
| }; |
| |
| } // namespace milotic |
| |
| #endif // THIRD_PARTY_MILOTIC_INTERNAL_CC_PROXY_REQUEST_RESPONSE_H_ |