]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: expose conf_get(), conf_get_int(), conf_get_bool()
authorYehuda Sadeh <yehuda@redhat.com>
Mon, 3 Apr 2017 22:17:29 +0000 (15:17 -0700)
committerYehuda Sadeh <yehuda@redhat.com>
Tue, 30 May 2017 20:24:45 +0000 (13:24 -0700)
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/rgw/rgw_common.h
src/rgw/rgw_env.cc

index 608b9fa6444e20eec79c2a01779263104eb048f0..0a7cc342c09815c1de9bc8f8a36115a9ffb45137 100644 (file)
@@ -357,6 +357,10 @@ class RGWHTTPArgs
   }
 };
 
+const char *rgw_conf_get(const map<string, string, ltstr_nocase>& conf_map, const char *name, const char *def_val);
+int rgw_conf_get_int(const map<string, string, ltstr_nocase>& conf_map, const char *name, int def_val);
+bool rgw_conf_get_bool(const map<string, string, ltstr_nocase>& conf_map, const char *name, bool def_val);
+
 class RGWEnv;
 
 class RGWConf {
index 737cda4cc975af9691966fe160ea78a6fd7910e9..d1f876dcbee1a3bdd247c3961ac9553946255a32 100644 (file)
@@ -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<string, string, ltstr_nocase>& conf_map, const char *name, const char *def_val)
 {
-  map<string, string, ltstr_nocase>::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<string, string, ltstr_nocase>::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<string, string, ltstr_nocase>& 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<string, string, ltstr_nocase>::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<string, string, ltstr_nocase>& 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<string, string, ltstr_nocase>::iterator iter = env_map.find(name);