3#include <boost/url/parse.hpp>
4#include <boost/url/url.hpp>
15 template<
typename Body>
17 std::optional<request<Body>>
18 build_request(
const method method_,
const boost::urls::url& url)
22 std::uint16_t port = 0;
27 switch (url.scheme_id()) {
28 case boost::urls::scheme::http:
32 case boost::urls::scheme::https:
44 port = url.port_number();
46 switch (url.scheme_id()) {
47 case boost::urls::scheme::http:
51 case boost::urls::scheme::https:
61 target = url.encoded_target();
62 if (std::empty(target))
68 request<Body> req(method_, host, port, target);
74 template<
typename Body>
76 std::optional<request<Body>>
77 build_request(
const method method_,
const std::string_view& url)
80 auto parsed_url = boost::urls::parse_uri(url);
85 return build_request<Body>(method_, *parsed_url);
boost::beast::http::verb method
Definition: types.hpp:18