blob: 9e73c00ba3c23bce702edddb69d8bebd120bd108 [file] [log] [blame]
#include "http_request.hpp"
#include <string_view>
#include <system_error>
#include <utility>
#ifdef BMCWEB_ENABLE_GRPC
#include "absl/log/log.h" // NOLINT
#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