mirror of
https://github.com/vtnerd/monero-lws.git
synced 2024-12-23 03:49:23 +00:00
Add config-file support
This commit is contained in:
parent
935acaacc5
commit
7df7fdb744
1 changed files with 16 additions and 0 deletions
|
@ -43,6 +43,7 @@
|
|||
#include "config.h"
|
||||
#include "cryptonote_config.h" // monero/src/
|
||||
#include "db/storage.h"
|
||||
#include "error.h"
|
||||
#include "options.h"
|
||||
#include "rest_server.h"
|
||||
#include "scanner.h"
|
||||
|
@ -76,6 +77,7 @@ namespace
|
|||
const command_line::arg_descriptor<unsigned short> log_level;
|
||||
const command_line::arg_descriptor<bool> disable_admin_auth;
|
||||
const command_line::arg_descriptor<std::string> webhook_ssl_verification;
|
||||
const command_line::arg_descriptor<std::string> config_file;
|
||||
|
||||
static std::string get_default_zmq()
|
||||
{
|
||||
|
@ -117,6 +119,7 @@ namespace
|
|||
, log_level{"log-level", "Log level [0-4]", 1}
|
||||
, disable_admin_auth{"disable-admin-auth", "Make auth field optional in HTTP-REST requests", false}
|
||||
, webhook_ssl_verification{"webhook-ssl-verification", "[<none|system_ca>] specify SSL verification mode for webhooks", "system_ca"}
|
||||
, config_file{"config-file", "Specify any option in a config file; <name>=<value> on separate lines"}
|
||||
{}
|
||||
|
||||
void prepare(boost::program_options::options_description& description) const
|
||||
|
@ -146,6 +149,7 @@ namespace
|
|||
command_line::add_arg(description, log_level);
|
||||
command_line::add_arg(description, disable_admin_auth);
|
||||
command_line::add_arg(description, webhook_ssl_verification);
|
||||
command_line::add_arg(description, config_file);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -188,6 +192,18 @@ namespace
|
|||
po::command_line_parser(argc, argv).options(description).run(), args
|
||||
);
|
||||
po::notify(args);
|
||||
|
||||
if (!command_line::is_arg_defaulted(args, opts.config_file))
|
||||
{
|
||||
boost::filesystem::path config_path{command_line::get_arg(args, opts.config_file)};
|
||||
if (!boost::filesystem::exists(config_path))
|
||||
MONERO_THROW(lws::error::configuration, "Config file does not exist");
|
||||
|
||||
po::store(
|
||||
po::parse_config_file<char>(config_path.string<std::string>().c_str(), description), args
|
||||
);
|
||||
po::notify(args);
|
||||
}
|
||||
}
|
||||
|
||||
if (command_line::get_arg(args, command_line::arg_help))
|
||||
|
|
Loading…
Reference in a new issue