Clio  develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
VerifyConfig.hpp
1#pragma once
2
3#include "util/config/ConfigDefinition.hpp"
4#include "util/config/ConfigFileJson.hpp"
5
6#include <cstdlib>
7#include <iostream>
8#include <string_view>
9
10namespace app {
11
18inline bool
19parseConfig(std::string_view configPath)
20{
21 using namespace util::config;
22
23 auto const json = ConfigFileJson::makeConfigFileJson(configPath);
24 if (!json.has_value()) {
25 std::cerr << "Error parsing json from config: " << configPath << "\n"
26 << json.error().error << std::endl;
27 return false;
28 }
29 auto const errors = getClioConfig().parse(json.value());
30 if (errors.has_value()) {
31 for (auto const& err : errors.value()) {
32 std::cerr << "Issues found in provided config '" << configPath << "':\n";
33 std::cerr << err.error << std::endl;
34 }
35 return false;
36 }
37 return true;
38}
39
40} // namespace app
std::optional< std::vector< Error > > parse(ConfigFileInterface const &config)
Parses the configuration file.
Definition ConfigDefinition.cpp:146