cofetch
Chainable, high-performance async HTTP client for C++ event loops
Loading...
Searching...
No Matches
cofetch::Client::RequestBuilder Class Reference

Fluent builder bound to this client. More...

#include <cofetch.h>

Public Member Functions

 RequestBuilder (Client &client, std::string url)
 
RequestBuilderheaders (std::vector< std::string > h)
 
RequestBuilderbody (std::string b)
 
RequestBuildertimeout (std::chrono::milliseconds t)
 
RequestBuilderfollow_redirects (long max=30)
 
RequestBuildercurl (std::function< void(CURL *)> fn)
 
template<typename CompletionToken >
auto get (CompletionToken &&token)
 
template<typename CompletionToken >
auto post (CompletionToken &&token)
 
template<typename CompletionToken >
auto put (CompletionToken &&token)
 
template<typename CompletionToken >
auto patch (CompletionToken &&token)
 
template<typename CompletionToken >
auto del (CompletionToken &&token)
 

Detailed Description

Fluent builder bound to this client.

Chain setters and finish with the HTTP verb, which starts the transfer:

co_await http.request(url).body("b=1").post(asio::use_awaitable);

A builder must not be reused after get()/post()/put()/del().

Constructor & Destructor Documentation

◆ RequestBuilder()

cofetch::Client::RequestBuilder::RequestBuilder ( Client client,
std::string  url 
)
inline

Member Function Documentation

◆ body()

RequestBuilder & cofetch::Client::RequestBuilder::body ( std::string  b)
inline

◆ curl()

RequestBuilder & cofetch::Client::RequestBuilder::curl ( std::function< void(CURL *)>  fn)
inline

◆ del()

template<typename CompletionToken >
auto cofetch::Client::RequestBuilder::del ( CompletionToken &&  token)
inline

◆ follow_redirects()

RequestBuilder & cofetch::Client::RequestBuilder::follow_redirects ( long  max = 30)
inline

◆ get()

template<typename CompletionToken >
auto cofetch::Client::RequestBuilder::get ( CompletionToken &&  token)
inline

◆ headers()

RequestBuilder & cofetch::Client::RequestBuilder::headers ( std::vector< std::string >  h)
inline

◆ patch()

template<typename CompletionToken >
auto cofetch::Client::RequestBuilder::patch ( CompletionToken &&  token)
inline

◆ post()

template<typename CompletionToken >
auto cofetch::Client::RequestBuilder::post ( CompletionToken &&  token)
inline

◆ put()

template<typename CompletionToken >
auto cofetch::Client::RequestBuilder::put ( CompletionToken &&  token)
inline

◆ timeout()

RequestBuilder & cofetch::Client::RequestBuilder::timeout ( std::chrono::milliseconds  t)
inline

The documentation for this class was generated from the following file: