curl_resource.cpp
Go to the documentation of this file.
2 
3 CurlResource::CurlResource(const std::string& host) : url_("http://" + host)
4 {
5  header_.push_back("Content-Type: application/json");
6  request_.setOpt(new curlpp::options::HttpHeader(header_));
7  request_.setOpt(curlpp::options::WriteStream(&response_));
8 }
9 
10 void CurlResource::append_path(const std::string& path)
11 {
12  url_ += "/" + path;
13 }
14 
15 void CurlResource::append_query(const std::initializer_list<param_type>& list, bool do_encoding)
16 {
17  url_ += "?";
18  for (const auto& p : list)
19  {
20  url_ += p.first + "=" + p.second + "&";
21  }
22  url_.pop_back();
23 }
24 
25 void CurlResource::append_query(const param_map_type& params, bool do_encoding)
26 {
27  url_ += "?";
28  for (const auto& p : params)
29  {
30  url_ += p.first + "=" + p.second + "&";
31  }
32  url_.pop_back();
33 }
34 
35 void CurlResource::get(Json::Value& json_resp)
36 {
37  request_.setOpt(curlpp::options::Url(url_));
38  request_.perform();
39 
40  Json::Reader reader;
41  reader.parse(response_, json_resp);
42 }
43 
45 {
46  std::cout << url_ << std::endl;
47 }
curlpp::Easy request_
Definition: curl_resource.h:44
std::list< std::string > header_
Definition: curl_resource.h:45
CurlResource(const std::string &host)
std::map< std::string, std::string > param_map_type
std::stringstream response_
Definition: curl_resource.h:46
void get(Json::Value &json_resp)
std::string url_
Definition: curl_resource.h:42
void append_path(const std::string &path)
void append_query(const std::initializer_list< param_type > &list, bool do_encoding=false)


pf_driver
Author(s): Harsh Deshpande
autogenerated on Fri Feb 24 2023 03:59:35