Skip to content

Commit

Permalink
Use string_view in parse_id_list_params()
Browse files Browse the repository at this point in the history
  • Loading branch information
Woazboat committed Nov 13, 2023
1 parent dfff59b commit 134aa31
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 14 deletions.
4 changes: 2 additions & 2 deletions include/cgimap/api06/handler_utils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
#include "cgimap/request.hpp"
#include "cgimap/api06/id_version.hpp"
#include <vector>
#include <string>
#include <string_view>

namespace api06 {

std::vector<id_version> parse_id_list_params(request &req,
const std::string &param_name);
std::string_view param_name);
}

#endif /* API06_HANDLER_UTILS_HPP */
14 changes: 2 additions & 12 deletions src/api06/handler_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,6 @@ using std::pair;
namespace qi = boost::spirit::qi;
namespace standard = boost::spirit::standard;

namespace {
struct first_equals {
first_equals(const std::string &k) : m_key(k) {}
bool operator()(const pair<string, string> &v) const {
return v.first == m_key;
}
string m_key;
};
} // anonymous namespace

BOOST_FUSION_ADAPT_STRUCT(
api06::id_version,
(uint64_t, id)
Expand Down Expand Up @@ -80,11 +70,11 @@ bool valid_string(const std::string& str)
[](char c){ return c >= 0 && c <= UCHAR_MAX; });
}

vector<id_version> parse_id_list_params(request &req, const string &param_name) {
vector<id_version> parse_id_list_params(request &req, std::string_view param_name) {

string decoded = http::urldecode(get_query_string(req));
const vector<pair<string, string> > params = http::parse_params(decoded);
auto itr = std::find_if(params.begin(), params.end(), first_equals(param_name));
auto itr = std::find_if(params.begin(), params.end(), [&param_name](auto& x){ return x.first == param_name; });

if (itr == params.end())
return {};
Expand Down

0 comments on commit 134aa31

Please sign in to comment.