diff --git a/src/server_env_manager.cpp b/src/server_env_manager.cpp index 13056c8..979f8d3 100644 --- a/src/server_env_manager.cpp +++ b/src/server_env_manager.cpp @@ -44,7 +44,17 @@ server_env_manager::server_env_manager(const std::string& server_name) : mValid( // get the variables from the json for (const auto& var : server_env_json.items()) { - mVariables[var.key()] = replace_with_environment_variables_like_bash(var.value()); + std::string value; + if (var.value().is_string()) + value = var.value(); + else if (var.value().is_number_integer()) + value = std::to_string(var.value().get()); + else if (var.value().is_boolean()) + value = var.value() ? "true" : "false"; + else + value = var.value().dump(); + + mVariables[var.key()] = replace_with_environment_variables_like_bash(value); } // Verify required variables exist