env.set("REQUEST_METHOD", info->request_method);
env.set("REQUEST_URI", info->uri);
- env.set("QUERY_STRING", info->query_string);
- env.set("REMOTE_USER", info->remote_user);
+ if (info->query_string) {
+ env.set("QUERY_STRING", info->query_string);
+ }
+ if (info->remote_user) {
+ env.set("REMOTE_USER", info->remote_user);
+ }
env.set("SCRIPT_URI", info->uri); /* FIXME */
char port_buf[16];
#include <string.h>
#include <string>
#include <map>
+#include <boost/utility/string_ref.hpp>
#include "include/types.h"
#include "include/utime.h"
#include "rgw_acl.h"
~RGWEnv();
void init(CephContext *cct);
void init(CephContext *cct, char **envp);
- void set(const char *name, const char *val);
+ void set(const boost::string_ref& name, const boost::string_ref& val);
const char *get(const char *name, const char *def_val = NULL);
int get_int(const char *name, int def_val = 0);
bool get_bool(const char *name, bool def_val = 0);
conf->init(cct, this);
}
-void RGWEnv::set(const char *name, const char *val)
+void RGWEnv::set(const boost::string_ref& name, const boost::string_ref& val)
{
- if (!val)
- val = "";
- env_map[name] = val;
+ env_map[std::string{name}] = std::string{val};
dout(20) << "RGWEnv::set(): " << name << ": " << val << dendl;
}