From 7dc4e5bfc85474700b3731fc06e48a0e5c1d387b Mon Sep 17 00:00:00 2001 From: neodarz Date: Wed, 7 Aug 2019 10:40:36 +0200 Subject: Refactoring loader configuration --- CMakeLists.txt | 2 +- config.cpp | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ config.h | 11 +++++++++++ shared.h | 5 +++++ umosapi.cpp | 52 +--------------------------------------------------- 5 files changed, 69 insertions(+), 52 deletions(-) create mode 100644 config.cpp create mode 100644 config.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 0cb0693..0d2a615 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,7 +43,7 @@ endif(NOT JSONC_FOUND) #add_executable(umosapi test.cpp) -add_executable(umosapi umosapi.cpp umosapi.h shared.h) +add_executable(umosapi umosapi.cpp config.cpp umosapi.h config.h shared.h) set_property(TARGET umosapi PROPERTY CXX_STANDARD 17) diff --git a/config.cpp b/config.cpp new file mode 100644 index 0000000..477e9fb --- /dev/null +++ b/config.cpp @@ -0,0 +1,51 @@ +#include "config.h" +#include "shared.h" + +void load_config(std::string config_path) { +std::ifstream is_file(config_path); + std::string line; + while( std::getline(is_file, line) ) + { + std::istringstream is_line(line); + std::string key; + if( std::getline(is_line, key, '=') ) + { + std::string value; + if( std::getline(is_line, value) ) + config[key] = value; + } + } + is_file.close(); + + std::string mongoURI = "mongodb://"; + + + if (config["mongo_db"] == "") { + config["mongo_db"] = "umosapi"; + } + + if (config["mongo_user"] != "") { + mongoURI.append(config["mongo_user"] + ":"); + } + + if (config["mongo_password"] != "") { + mongoURI.append(config["mongo_password"] + "@"); + } + + if (config["mongo_host"] == "") { + config["mongo_host"] = "127.0.0.1"; + } + mongoURI.append(config["mongo_host"]); + + if (config["mongo_port"] == "") { + config["mongo_port"] = "umosapi"; + } + mongoURI.append(":" + config["mongo_port"]); + + if (config["swaggerui"] == "") { + config["swaggerui"] = "/srv/http/swagger-ui"; + } + + config["mongoURI"] = mongoURI; + +} diff --git a/config.h b/config.h new file mode 100644 index 0000000..a94ce03 --- /dev/null +++ b/config.h @@ -0,0 +1,11 @@ +#include +#include +#include +#include + +#ifndef CONFIG_H_ +#define CONFIG_H_ + +void load_config(std::string config_path); + +#endif diff --git a/shared.h b/shared.h index 8efc3eb..2f796c7 100644 --- a/shared.h +++ b/shared.h @@ -1 +1,6 @@ +#ifndef SHARED_H_ +#define SHARED_H_ + extern std::map config; + +#endif diff --git a/umosapi.cpp b/umosapi.cpp index e71a688..72c4728 100644 --- a/umosapi.cpp +++ b/umosapi.cpp @@ -1,7 +1,6 @@ #include "umosapi.h" #include -#include #include #include #include @@ -18,11 +17,11 @@ #include -#include #include #include "clara.hpp" #include "shared.h" +#include "config.h" std::map config; @@ -46,55 +45,6 @@ namespace Generic { } } -void load_config(string config_path) { -std::ifstream is_file(config_path); - std::string line; - while( std::getline(is_file, line) ) - { - std::istringstream is_line(line); - std::string key; - if( std::getline(is_line, key, '=') ) - { - std::string value; - if( std::getline(is_line, value) ) - config[key] = value; - } - } - is_file.close(); - - string mongoURI = "mongodb://"; - - - if (config["mongo_db"] == "") { - config["mongo_db"] = "umosapi"; - } - - if (config["mongo_user"] != "") { - mongoURI.append(config["mongo_user"] + ":"); - } - - if (config["mongo_password"] != "") { - mongoURI.append(config["mongo_password"] + "@"); - } - - if (config["mongo_host"] == "") { - config["mongo_host"] = "127.0.0.1"; - } - mongoURI.append(config["mongo_host"]); - - if (config["mongo_port"] == "") { - config["mongo_port"] = "umosapi"; - } - mongoURI.append(":" + config["mongo_port"]); - - if (config["swaggerui"] == "") { - config["swaggerui"] = "/srv/http/swagger-ui"; - } - - config["mongoURI"] = mongoURI; - -} - UmosapiService::UmosapiService(Address addr) : httpEndpoint(std::make_shared(addr)) , desc("Unity Mongo Save API", "0.1") -- cgit v1.2.1