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 is_prestable{
false};
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(); }
55 formats::json::Value configs;
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);
67 formats::json::Value FetchConfigs(
68 const std::optional<Timestamp>& last_update,
69 const std::vector<std::string>& fields_to_load
72 std::string FetchConfigsValues(std::string_view body);
75 clients::http::
Client& http_client_;