#pragma once #include #include #include #include namespace DB { /* * Round-robin proxy list resolver. * */ class ProxyListConfigurationResolver : public ProxyConfigurationResolver { public: ProxyListConfigurationResolver( std::vector proxies_, Protocol request_protocol_, const std::string & no_proxy_hosts_, bool disable_tunneling_for_https_requests_over_http_proxy_ = false); ProxyConfiguration resolve() override; void errorReport(const ProxyConfiguration &) override {} private: std::vector proxies; std::string no_proxy_hosts; /// Access counter to get proxy using round-robin strategy. std::atomic access_counter; }; }