9#include <userver/dynamic_config/value.hpp>
11USERVER_NAMESPACE_BEGIN
13namespace clients::http {
17namespace dynamic_config {
20 std::string service_name;
21 bool get_configs_overrides_for_service{
true};
22 std::chrono::milliseconds timeout{0};
24 std::string config_url;
25 bool append_path_to_url{
true};
26 std::string stage_name;
27 bool fallback_to_no_proxy{
true};
39 Client(clients::http::Client& http_client,
const ClientConfig&);
43 using Timestamp = std::string;
46 USERVER_NAMESPACE::dynamic_config::DocsMap docs_map;
47 std::vector<std::string> kill_switches_disabled;
48 std::vector<std::string> removed;
51 bool IsEmpty()
const {
return docs_map.Size() == 0 && removed.empty(); }
56 std::vector<std::string> kill_switches_disabled;
60 Reply DownloadFullDocsMap();
62 Reply FetchDocsMap(
const std::optional<Timestamp>& last_update,
const std::vector<std::string>& fields_to_load);
64 JsonReply FetchJson(
const std::optional<Timestamp>& last_update,
const std::vector<std::string>& fields_to_load);
68 FetchConfigs(
const std::optional<Timestamp>& last_update,
const std::vector<std::string>& fields_to_load);
70 std::string FetchConfigsValues(std::string_view body);
73 clients::http::Client& http_client_;