2#include <Hermes/Socket/ClientSocket.hpp>
25 && std::ranges::sized_range<T>
27 std::same_as<std::ranges::range_value_t<T>,
char> ||
28 std::same_as<std::ranges::range_value_t<T>,
unsigned char> ||
29 std::same_as<std::ranges::range_value_t<T>, std::byte>
40 template<MethodConcept Method = GetMethod, RequestBodyConcept Body = std::
string>
50 template<
class T =
string_view>
51 requires Hermes::ByteLike<std::ranges::range_value_t<T>>
52 || (std::same_as<Body, std::string> &&
requires (T t) { { std::format(
"{}", t) }; })
53 static std::expected<Request, RequestError>
FromUrl(
65#include <Thoth/Http/Request/Request.tpp>
Definition Request.hpp:33
Definition Request.hpp:36
Definition Request.hpp:24
std::string_view VersionToString(VersionEnum version)
Exactly what you think it is.
VersionEnum
Definition Request.hpp:11
std::string_view string_view
Definition Url.hpp:7
Definition Request.hpp:41
static std::expected< Request, RequestError > FromUrl(string_view url, T &&body={}, Headers headers=Headers::DefaultHeaders())
Try parse to a URL before construct the Request.
VersionEnum version
Definition Request.hpp:46
Method MethodType
Definition Request.hpp:42
Url url
Definition Request.hpp:44
RequestHeaders headers
Definition Request.hpp:47
Body body
Definition Request.hpp:45