blob: c325035ba70890a00af7d808610e50fc6fc4b8eb [file] [log] [blame]
#include "http_request.hpp"
#ifdef BMCWEB_ENABLE_GRPC
#include "absl/log/log.h"
#endif
namespace crow
{
Request::Request(
boost::beast::http::request<boost::beast::http::string_body> reqIn,
std::error_code& ec) :
req(std::move(reqIn))
{
if (!setUrlInfo())
{
ec = std::make_error_code(std::errc::invalid_argument);
}
#ifdef BMCWEB_ENABLE_GRPC
LOG(INFO) << "=> HTTP: Request: path: target: " << this->target();
#endif
}
Request::Request(std::string_view bodyIn, std::error_code& ec) : req({}, bodyIn)
{
if (!setUrlInfo())
{
ec = std::make_error_code(std::errc::invalid_argument);
}
#ifdef BMCWEB_ENABLE_GRPC
LOG(INFO) << "=> HTTP: Request: path: target: " << this->target();
#endif
}
bool Request::setUrlInfo()
{
auto result = boost::urls::parse_relative_ref(target());
if (!result)
{
return false;
}
urlBase = *result;
return true;
}
} // namespace crow