Don't copy params

This commit is contained in:
flamingcow
2019-05-09 19:49:05 -07:00
parent 05382c76a5
commit 19c390aa54
2 changed files with 4 additions and 4 deletions

View File

@@ -40,10 +40,10 @@ void Request::SetBody(const std::string_view& body) {
body_ = body; body_ = body;
} }
const std::string& Request::GetParam(const std::string& key) { const std::string_view& Request::GetParam(const std::string& key) {
auto iter = params_.find(key); auto iter = params_.find(key);
if (iter == params_.end()) { if (iter == params_.end()) {
static const std::string none; static const std::string_view none;
return none; return none;
} }
return iter->second; return iter->second;

View File

@@ -21,7 +21,7 @@ class Request {
void AddParam(const std::string_view& key, const std::string_view& value); void AddParam(const std::string_view& key, const std::string_view& value);
void SetBody(const std::string_view& in); void SetBody(const std::string_view& in);
const std::string& GetParam(const std::string& key); const std::string_view& GetParam(const std::string& key);
const std::string_view& GetBody(); const std::string_view& GetBody();
void WriteHeader(const std::string_view& name, const std::string_view& value); void WriteHeader(const std::string_view& name, const std::string_view& value);
@@ -36,7 +36,7 @@ class Request {
Connection *conn_; Connection *conn_;
uint16_t request_id_ = 0; uint16_t request_id_ = 0;
std::unordered_map<std::string, std::string> params_; std::unordered_map<std::string_view, std::string_view> params_;
std::string_view body_; std::string_view body_;
firebuf::Buffer out_buf_; firebuf::Buffer out_buf_;