From: Yehuda Sadeh Date: Mon, 3 Apr 2017 22:17:29 +0000 (-0700) Subject: rgw: expose conf_get(), conf_get_int(), conf_get_bool() X-Git-Tag: ses5-milestone6~9^2~3^2~38 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6d5555accd88b30e6edb1b55fff0f10e0d536846;p=ceph.git rgw: expose conf_get(), conf_get_int(), conf_get_bool() Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index 608b9fa6444e..0a7cc342c098 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -357,6 +357,10 @@ class RGWHTTPArgs } }; +const char *rgw_conf_get(const map& conf_map, const char *name, const char *def_val); +int rgw_conf_get_int(const map& conf_map, const char *name, int def_val); +bool rgw_conf_get_bool(const map& conf_map, const char *name, bool def_val); + class RGWEnv; class RGWConf { diff --git a/src/rgw/rgw_env.cc b/src/rgw/rgw_env.cc index 737cda4cc975..d1f876dcbee1 100644 --- a/src/rgw/rgw_env.cc +++ b/src/rgw/rgw_env.cc @@ -41,35 +41,50 @@ void RGWEnv::init(CephContext *cct, char **envp) init(cct); } -const char *RGWEnv::get(const char *name, const char *def_val) +const char *rgw_conf_get(const map& conf_map, const char *name, const char *def_val) { - map::iterator iter = env_map.find(name); - if (iter == env_map.end()) + auto iter = conf_map.find(name); + if (iter == conf_map.end()) return def_val; return iter->second.c_str(); } -int RGWEnv::get_int(const char *name, int def_val) +const char *RGWEnv::get(const char *name, const char *def_val) { - map::iterator iter = env_map.find(name); - if (iter == env_map.end()) + return rgw_conf_get(env_map, name, def_val); +} + +int rgw_conf_get_int(const map& conf_map, const char *name, int def_val) +{ + auto iter = conf_map.find(name); + if (iter == conf_map.end()) return def_val; const char *s = iter->second.c_str(); return atoi(s); } -bool RGWEnv::get_bool(const char *name, bool def_val) +int RGWEnv::get_int(const char *name, int def_val) { - map::iterator iter = env_map.find(name); - if (iter == env_map.end()) + return rgw_conf_get_int(env_map, name, def_val); +} + +bool rgw_conf_get_bool(const map& conf_map, const char *name, bool def_val) +{ + auto iter = conf_map.find(name); + if (iter == conf_map.end()) return def_val; const char *s = iter->second.c_str(); return rgw_str_to_bool(s, def_val); } +bool RGWEnv::get_bool(const char *name, bool def_val) +{ + return rgw_conf_get_bool(env_map, name, def_val); +} + size_t RGWEnv::get_size(const char *name, size_t def_val) { map::iterator iter = env_map.find(name);