Boost C++ Libraries

PrevUpHomeNext

Struct query_list_arg

boost::taar::handler::query_list_arg — Argument provider that reads every occurrence of a query parameter.

Synopsis

// In header: <boost/taar/handler/rest_arg.hpp>


struct query_list_arg {

  // public member functions
  query_list_arg(std::string, boost::urls::ignore_case_param = {});
  query_list_arg(std::string, std::string, 
                 boost::urls::ignore_case_param = {});
  std::string const & name() const;
  std::string const & description() const;
  taar::result< std::vector< std::string > > 
  operator()(boost::beast::http::request_header<> const &, 
             matcher::context const &) const;

  // public data members
  std::string query_key_;
  boost::urls::ignore_case_param ic_;
  std::string description_;
};

Description

?tag=a&tag=b binds {"a", "b"}, in order, to a container parameter (std::vector<T>, std::set<T>, ...) whose elements are cast one by one; a single occurrence binds a one-element container. This is the OpenAPI form/explode style. For comma-separated lists in a single occurrence (?tag=a,b) use query_arg with a container parameter.

Reports error::argument_not_found if the parameter is absent.

query_list_arg public member functions

  1. query_list_arg(std::string query_key, boost::urls::ignore_case_param ic = {});
  2. query_list_arg(std::string query_key, std::string description, 
                   boost::urls::ignore_case_param ic = {});
  3. std::string const & name() const;
  4. std::string const & description() const;
  5. taar::result< std::vector< std::string > > 
    operator()(boost::beast::http::request_header<> const & request, 
               matcher::context const &) const;

PrevUpHomeNext