27 clients::http::
Client& http_client,
28 S3ConnectionType connection_type,
29 std::string server_url,
32 : api_url_(std::move(server_url)),
33 connection_type_(connection_type),
34 http_client_(http_client),
40 ~S3Connection() =
default;
42 std::shared_ptr<clients::http::Response> RequestApi(
Request& r, std::string_view method_name);
44 std::shared_ptr<clients::http::Response> DoStartApiRequest(
const Request& r)
const;
46 std::shared_ptr<clients::http::Response> StartApiRequest(
const Request& r)
const;
48 std::string GetHost()
const {
return api_url_; }
50 void UpdateConfig(
ConnectionCfg&& config) { config_ = config; }
53 std::string GetUrl(
const Request& r, S3ConnectionType connection_type)
const;
57 const std::string api_url_;
58 S3ConnectionType connection_type_;
59 clients::http::
Client& http_client_;