3#include <boost/url/parse.hpp>
4#include <boost/url/url.hpp>
16 template<
typename Body>
18 std::optional<request<Body>>
19 build_request(
const method method_,
const boost::urls::url& url)
23 std::uint16_t port = 0;
28 switch (url.scheme_id()) {
29 case boost::urls::scheme::http:
33 case boost::urls::scheme::https:
45 port = url.port_number();
47 switch (url.scheme_id()) {
48 case boost::urls::scheme::http:
52 case boost::urls::scheme::https:
62 target = url.encoded_target();
63 if (std::empty(target))
69 request<Body> req(method_, host, port, target);
75 template<
typename Body>
77 std::optional<request<Body>>
78 build_request(
const method method_,
const std::string_view& url)
81 auto parsed_url = boost::urls::parse_uri(url);
86 return build_request<Body>(method_, *parsed_url);
boost::beast::http::verb method
Definition: types.hpp:18