17 json::JSONParser currentConfiguration;
18 std::filesystem::path basePath;
21 template<std::ranges::range T>
22 Config& overrideConfigurationArray(std::string_view key,
const T& value,
bool recursive);
32 Config(
const std::filesystem::path& configPath);
40 Config(std::string_view serverConfiguration, std::string_view applicationDirectory);
57 Config& overrideConfiguration(std::string_view key, const json::utility::jsonObject::variantType& value,
bool recursive = true);
66 Config& overrideConfiguration(std::string_view key, const std::vector<int64_t>& value,
bool recursive = true);
75 Config& overrideConfiguration(std::string_view key, const std::vector<std::
string>& value,
bool recursive = true);
82 Config& overrideBasePath(const std::filesystem::path& basePath);
90 const std::
string& getConfigurationString(std::string_view key,
bool recursive = true) const;
98 int64_t getConfigurationInteger(std::string_view key,
bool recursive = true) const;
106 bool getConfigurationBoolean(std::string_view key,
bool recursive = true) const;
112 const std::filesystem::path& getBasePath() const;
118 std::
string getConfiguration() const;
124 std::string_view getRawConfiguration() const;
130 const json::JSONParser& operator * () const;