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> removed;
50 bool IsEmpty()
const {
return docs_map.Size() == 0 && removed.empty(); }
54 formats::
json::Value configs;
58 Reply DownloadFullDocsMap();
60 Reply FetchDocsMap(
const std::optional<Timestamp>& last_update,
61 const std::vector<std::string>& fields_to_load);
63 JsonReply FetchJson(
const std::optional<Timestamp>& last_update,
64 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);
71 std::string FetchConfigsValues(std::string_view body);
74 clients::http::Client& http_client_;