#include "request.hpp" #include "util.hpp" #include auto str_to_http_request_method(const char *http_request_method_str) -> HTTPRequestMethod { if (util::streq(http_request_method_str, "GET")) { return HTTPRequestMethod::GET; } if (util::streq(http_request_method_str, "POST")) { return HTTPRequestMethod::POST; } if (util::streq(http_request_method_str, "PUT")) { return HTTPRequestMethod::PUT; } if (util::streq(http_request_method_str, "HEAD")) { return HTTPRequestMethod::HEAD; } if (util::streq(http_request_method_str, "DELETE")) { return HTTPRequestMethod::DELETE; } if (util::streq(http_request_method_str, "CONNECT")) { return HTTPRequestMethod::CONNECT; } if (util::streq(http_request_method_str, "OPTIONS")) { return HTTPRequestMethod::OPTIONS; } if (util::streq(http_request_method_str, "TRACE")) { return HTTPRequestMethod::TRACE; } if (util::streq(http_request_method_str, "PATCH")) { return HTTPRequestMethod::PATCH; } return HTTPRequestMethod::GET; } HTTPRequest::HTTPRequest( size_t connection_id, HTTPRequestMethod method, char *http_version, // NOLINT(bugprone-easily-swappable-parameters) char *path, int data_length, char *data ) noexcept : _connection_id(connection_id), _method(method), _http_version(http_version), _path(path), _data_length(data_length), _data(data) { } HTTPRequest::~HTTPRequest() noexcept { free(_data); } auto HTTPRequest::connection_id() const noexcept -> size_t { return _connection_id; } auto HTTPRequest::method() const noexcept -> HTTPRequestMethod { return _method; } auto HTTPRequest::http_version() const noexcept -> const char * { return _http_version; } auto HTTPRequest::path() const noexcept -> const char * { return _path; } auto HTTPRequest::data_length() const noexcept -> int { return _data_length; } auto HTTPRequest::data() const noexcept -> const char * { return _data; }