maph 1.0.0 High-Performance Memory-Mapped Key-Value Database with O(1) Lookups

Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
httplib::ClientImpl Class Reference

`#include <httplib.h>`

Collaboration diagram for httplib::ClientImpl:

## Classes
struct | Socket

## Public Member Functions
| ClientImpl (const std::string &host)
| ClientImpl (const std::string &host, int port)
| ClientImpl (const std::string &host, int port, const std::string &client_cert_path, const std::string &client_key_path)
virtual | ~ClientImpl ()
virtual bool | is_valid () const
Result | Get (const std::string &path, DownloadProgress progress=nullptr)
Result | Get (const std::string &path, ContentReceiver content_receiver, DownloadProgress progress=nullptr)
Result | Get (const std::string &path, ResponseHandler response_handler, ContentReceiver content_receiver, DownloadProgress progress=nullptr)
Result | Get (const std::string &path, const Headers &headers, DownloadProgress progress=nullptr)
Result | Get (const std::string &path, const Headers &headers, ContentReceiver content_receiver, DownloadProgress progress=nullptr)
Result | Get (const std::string &path, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver, DownloadProgress progress=nullptr)
Result | Get (const std::string &path, const Params &params, const Headers &headers, DownloadProgress progress=nullptr)
Result | Get (const std::string &path, const Params &params, const Headers &headers, ContentReceiver content_receiver, DownloadProgress progress=nullptr)
Result | Get (const std::string &path, const Params &params, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver, DownloadProgress progress=nullptr)
Result | Head (const std::string &path)
Result | Head (const std::string &path, const Headers &headers)
Result | Post (const std::string &path)
Result | Post (const std::string &path, const char *body, size_t content_length, const std::string &content_type, UploadProgress progress=nullptr)
Result | Post (const std::string &path, const std::string &body, const std::string &content_type, UploadProgress progress=nullptr)
Result | Post (const std::string &path, size_t content_length, ContentProvider content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Post (const std::string &path, ContentProviderWithoutLength content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Post (const std::string &path, const Params &params)
Result | Post (const std::string &path, const UploadFormDataItems &items, UploadProgress progress=nullptr)
Result | Post (const std::string &path, const Headers &headers)
Result | Post (const std::string &path, const Headers &headers, const char *body, size_t content_length, const std::string &content_type, UploadProgress progress=nullptr)
Result | Post (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, UploadProgress progress=nullptr)
Result | Post (const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Post (const std::string &path, const Headers &headers, ContentProviderWithoutLength content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Post (const std::string &path, const Headers &headers, const Params &params)
Result | Post (const std::string &path, const Headers &headers, const UploadFormDataItems &items, UploadProgress progress=nullptr)
Result | Post (const std::string &path, const Headers &headers, const UploadFormDataItems &items, const std::string &boundary, UploadProgress progress=nullptr)
Result | Post (const std::string &path, const Headers &headers, const UploadFormDataItems &items, const FormDataProviderItems &provider_items, UploadProgress progress=nullptr)
Result | Post (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, ContentReceiver content_receiver, DownloadProgress progress=nullptr)
Result | Put (const std::string &path)
Result | Put (const std::string &path, const char *body, size_t content_length, const std::string &content_type, UploadProgress progress=nullptr)
Result | Put (const std::string &path, const std::string &body, const std::string &content_type, UploadProgress progress=nullptr)
Result | Put (const std::string &path, size_t content_length, ContentProvider content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Put (const std::string &path, ContentProviderWithoutLength content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Put (const std::string &path, const Params &params)
Result | Put (const std::string &path, const UploadFormDataItems &items, UploadProgress progress=nullptr)
Result | Put (const std::string &path, const Headers &headers)
Result | Put (const std::string &path, const Headers &headers, const char *body, size_t content_length, const std::string &content_type, UploadProgress progress=nullptr)
Result | Put (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, UploadProgress progress=nullptr)
Result | Put (const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Put (const std::string &path, const Headers &headers, ContentProviderWithoutLength content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Put (const std::string &path, const Headers &headers, const Params &params)
Result | Put (const std::string &path, const Headers &headers, const UploadFormDataItems &items, UploadProgress progress=nullptr)
Result | Put (const std::string &path, const Headers &headers, const UploadFormDataItems &items, const std::string &boundary, UploadProgress progress=nullptr)
Result | Put (const std::string &path, const Headers &headers, const UploadFormDataItems &items, const FormDataProviderItems &provider_items, UploadProgress progress=nullptr)
Result | Put (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, ContentReceiver content_receiver, DownloadProgress progress=nullptr)
Result | Patch (const std::string &path)
Result | Patch (const std::string &path, const char *body, size_t content_length, const std::string &content_type, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, const std::string &body, const std::string &content_type, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, size_t content_length, ContentProvider content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, ContentProviderWithoutLength content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, const Params &params)
Result | Patch (const std::string &path, const UploadFormDataItems &items, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, const Headers &headers, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, const Headers &headers, const char *body, size_t content_length, const std::string &content_type, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, const Headers &headers, ContentProviderWithoutLength content_provider, const std::string &content_type, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, const Headers &headers, const Params &params)
Result | Patch (const std::string &path, const Headers &headers, const UploadFormDataItems &items, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, const Headers &headers, const UploadFormDataItems &items, const std::string &boundary, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, const Headers &headers, const UploadFormDataItems &items, const FormDataProviderItems &provider_items, UploadProgress progress=nullptr)
Result | Patch (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, ContentReceiver content_receiver, DownloadProgress progress=nullptr)
Result | Delete (const std::string &path, DownloadProgress progress=nullptr)
Result | Delete (const std::string &path, const char *body, size_t content_length, const std::string &content_type, DownloadProgress progress=nullptr)
Result | Delete (const std::string &path, const std::string &body, const std::string &content_type, DownloadProgress progress=nullptr)
Result | Delete (const std::string &path, const Params &params, DownloadProgress progress=nullptr)
Result | Delete (const std::string &path, const Headers &headers, DownloadProgress progress=nullptr)
Result | Delete (const std::string &path, const Headers &headers, const char *body, size_t content_length, const std::string &content_type, DownloadProgress progress=nullptr)
Result | Delete (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, DownloadProgress progress=nullptr)
Result | Delete (const std::string &path, const Headers &headers, const Params &params, DownloadProgress progress=nullptr)
Result | Options (const std::string &path)
Result | Options (const std::string &path, const Headers &headers)
bool | send (Request &req, Response &res, Error &error)
Result | send (const Request &req)
void | stop ()
std::string | host () const
int | port () const
size_t | is_socket_open () const
socket_t | socket () const
void | set_hostname_addr_map (std::map< std::string, std::string > addr_map)
void | set_default_headers (Headers headers)
void | set_header_writer (std::function< ssize_t(Stream &, Headers &)> const &writer)
void | set_address_family (int family)
void | set_tcp_nodelay (bool on)
void | set_ipv6_v6only (bool on)
void | set_socket_options (SocketOptions socket_options)
void | set_connection_timeout (time_t sec, time_t usec=0)
template<class Rep , class Period >
void | set_connection_timeout (const std::chrono::duration< Rep, Period > &duration)
void | set_read_timeout (time_t sec, time_t usec=0)
template<class Rep , class Period >
void | set_read_timeout (const std::chrono::duration< Rep, Period > &duration)
void | set_write_timeout (time_t sec, time_t usec=0)
template<class Rep , class Period >
void | set_write_timeout (const std::chrono::duration< Rep, Period > &duration)
void | set_max_timeout (time_t msec)
template<class Rep , class Period >
void | set_max_timeout (const std::chrono::duration< Rep, Period > &duration)
void | set_basic_auth (const std::string &username, const std::string &password)
void | set_bearer_token_auth (const std::string &token)
void | set_keep_alive (bool on)
void | set_follow_location (bool on)
void | set_path_encode (bool on)
void | set_compress (bool on)
void | set_decompress (bool on)
void | set_interface (const std::string &intf)
void | set_proxy (const std::string &host, int port)
void | set_proxy_basic_auth (const std::string &username, const std::string &password)
void | set_proxy_bearer_token_auth (const std::string &token)
void | set_logger (Logger logger)
void | set_error_logger (ErrorLogger error_logger)

## Protected Member Functions
virtual bool | create_and_connect_socket (Socket &socket, Error &error)
virtual void | shutdown_ssl (Socket &socket, bool shutdown_gracefully)
void | shutdown_socket (Socket &socket) const
void | close_socket (Socket &socket)
bool | process_request (Stream &strm, Request &req, Response &res, bool close_connection, Error &error)
bool | write_content_with_provider (Stream &strm, const Request &req, Error &error) const
void | copy_settings (const ClientImpl &rhs)
void | output_log (const Request &req, const Response &res) const
void | output_error_log (const Error &err, const Request *req) const

## Protected Attributes
const std::string | host_
const int | port_
const std::string | host_and_port_
Socket | socket_
std::mutex | socket_mutex_
std::recursive_mutex | request_mutex_
size_t | socket_requests_in_flight_ = 0
std::thread::id | socket_requests_are_from_thread_ = std::thread::id()
bool | socket_should_be_closed_when_request_is_done_ = false
std::map< std::string, std::string > | addr_map_
Headers | default_headers_
std::function< ssize_t(Stream &, Headers &)> | header_writer_
std::string | client_cert_path_
std::string | client_key_path_
time_t | connection_timeout_sec_ = 300
time_t | connection_timeout_usec_ = 0
time_t | read_timeout_sec_ = 300
time_t | read_timeout_usec_ = 0
time_t | write_timeout_sec_ = 5
time_t | write_timeout_usec_ = 0
time_t | max_timeout_msec_ = 0
std::string | basic_auth_username_
std::string | basic_auth_password_
std::string | bearer_token_auth_token_
bool | keep_alive_ = false
bool | follow_location_ = false
bool | path_encode_ = true
int | address_family_ = AF_UNSPEC
bool | tcp_nodelay_ = false
bool | ipv6_v6only_ = false
SocketOptions | socket_options_ = nullptr
bool | compress_ = false
bool | decompress_ = true
std::string | interface_
std::string | proxy_host_
int | proxy_port_ = -1
std::string | proxy_basic_auth_username_
std::string | proxy_basic_auth_password_
std::string | proxy_bearer_token_auth_token_
std::mutex | logger_mutex_
Logger | logger_
ErrorLogger | error_logger_

## Detailed Description

Definition at line 1384 of file httplib.h.

## Constructor & Destructor Documentation

## ◆ ClientImpl() [1/3]

httplib::ClientImpl::ClientImpl | ( | const std::string & | host | ) |
| inline explicit

Definition at line 8504 of file httplib.h.

## ◆ ClientImpl() [2/3]

httplib::ClientImpl::ClientImpl | ( | const std::string & | host,
|  | int | port
| ) |  |
| inline explicit

Definition at line 8507 of file httplib.h.

## ◆ ClientImpl() [3/3]

httplib::ClientImpl::ClientImpl | ( | const std::string & | host,
|  | int | port,
|  | const std::string & | client_cert_path,
|  | const std::string & | client_key_path
| ) |  |
| inline explicit

Definition at line 8510 of file httplib.h.

## ◆ ~ClientImpl()

httplib::ClientImpl::~ClientImpl | ( |  | ) |
| inline virtual

Definition at line 8517 of file httplib.h.

References close_socket(), shutdown_socket(), socket_, socket_mutex_, and socket_requests_in_flight_.

Here is the call graph for this function:

## Member Function Documentation

## ◆ close_socket()

void httplib::ClientImpl::close_socket | ( | Socket & | socket | ) |
| inline protected

Definition at line 8626 of file httplib.h.

References INVALID_SOCKET, socket(), socket_requests_are_from_thread_, and socket_requests_in_flight_.

Referenced by stop(), and ~ClientImpl().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ copy_settings()

void httplib::ClientImpl::copy_settings | ( | const ClientImpl & | rhs | ) |
| inline protected

Definition at line 8535 of file httplib.h.

References address_family_, basic_auth_password_, basic_auth_username_, bearer_token_auth_token_, client_cert_path_, client_key_path_, compress_, connection_timeout_sec_, decompress_, error_logger_, follow_location_, interface_, ipv6_v6only_, keep_alive_, logger_, max_timeout_msec_, path_encode_, proxy_basic_auth_password_, proxy_basic_auth_username_, proxy_bearer_token_auth_token_, proxy_host_, proxy_port_, read_timeout_sec_, read_timeout_usec_, socket_options_, tcp_nodelay_, write_timeout_sec_, and write_timeout_usec_.

## ◆ create_and_connect_socket()

bool httplib::ClientImpl::create_and_connect_socket | ( | Socket & | socket,
|  | Error & | error
| ) |  |
| inline protected virtual

Definition at line 8605 of file httplib.h.

References INVALID_SOCKET, and socket().

Here is the call graph for this function:

## ◆ Delete() [1/8]

Result httplib::ClientImpl::Delete | ( | const std::string & | path,
|  | const char * | body,
|  | size_t | content_length,
|  | const std::string & | content_type,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10163 of file httplib.h.

References Delete().

Here is the call graph for this function:

## ◆ Delete() [2/8]

Result httplib::ClientImpl::Delete | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const char * | body,
|  | size_t | content_length,
|  | const std::string & | content_type,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10200 of file httplib.h.

References httplib::Request::body, httplib::Request::download_progress, httplib::Request::headers, max_timeout_msec_, httplib::Request::method, httplib::Request::path, httplib::Request::set_header(), and httplib::Request::start_time_.

Here is the call graph for this function:

## ◆ Delete() [3/8]

Result httplib::ClientImpl::Delete | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const Params & | params,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10192 of file httplib.h.

References Delete().

Here is the call graph for this function:

## ◆ Delete() [4/8]

Result httplib::ClientImpl::Delete | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const std::string & | body,
|  | const std::string & | content_type,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10178 of file httplib.h.

References Delete().

Here is the call graph for this function:

## ◆ Delete() [5/8]

Result httplib::ClientImpl::Delete | ( | const std::string & | path,
|  | const Headers & | headers,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10157 of file httplib.h.

References Delete().

Here is the call graph for this function:

## ◆ Delete() [6/8]

Result httplib::ClientImpl::Delete | ( | const std::string & | path,
|  | const Params & | params,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10187 of file httplib.h.

References Delete().

Here is the call graph for this function:

## ◆ Delete() [7/8]

Result httplib::ClientImpl::Delete | ( | const std::string & | path,
|  | const std::string & | body,
|  | const std::string & | content_type,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10170 of file httplib.h.

References Delete().

Here is the call graph for this function:

## ◆ Delete() [8/8]

Result httplib::ClientImpl::Delete | ( | const std::string & | path,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10152 of file httplib.h.

References Delete().

Referenced by Delete(), Delete(), Delete(), Delete(), Delete(), Delete(), and Delete().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ Get() [1/9]

Result httplib::ClientImpl::Get | ( | const std::string & | path,
|  | const Headers & | headers,
|  | ContentReceiver | content_receiver,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9615 of file httplib.h.

References Get().

Here is the call graph for this function:

## ◆ Get() [2/9]

Result httplib::ClientImpl::Get | ( | const std::string & | path,
|  | const Headers & | headers,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9594 of file httplib.h.

References httplib::Request::download_progress, httplib::Request::headers, max_timeout_msec_, httplib::Request::method, httplib::Request::path, and httplib::Request::start_time_.

## ◆ Get() [3/9]

Result httplib::ClientImpl::Get | ( | const std::string & | path,
|  | const Headers & | headers,
|  | ResponseHandler | response_handler,
|  | ContentReceiver | content_receiver,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9630 of file httplib.h.

References httplib::Request::content_receiver, httplib::Request::download_progress, httplib::Request::headers, max_timeout_msec_, httplib::Request::method, httplib::Request::path, httplib::Request::response_handler, and httplib::Request::start_time_.

## ◆ Get() [4/9]

Result httplib::ClientImpl::Get | ( | const std::string & | path,
|  | const Params & | params,
|  | const Headers & | headers,
|  | ContentReceiver | content_receiver,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9652 of file httplib.h.

References Get().

Here is the call graph for this function:

## ◆ Get() [5/9]

Result httplib::ClientImpl::Get | ( | const std::string & | path,
|  | const Params & | params,
|  | const Headers & | headers,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9585 of file httplib.h.

References httplib::append_query_params(), and Get().

Here is the call graph for this function:

## ◆ Get() [6/9]

Result httplib::ClientImpl::Get | ( | const std::string & | path,
|  | const Params & | params,
|  | const Headers & | headers,
|  | ResponseHandler | response_handler,
|  | ContentReceiver | content_receiver,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9660 of file httplib.h.

References httplib::append_query_params(), and Get().

Here is the call graph for this function:

## ◆ Get() [7/9]

Result httplib::ClientImpl::Get | ( | const std::string & | path,
|  | ContentReceiver | content_receiver,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9608 of file httplib.h.

References Get().

Here is the call graph for this function:

## ◆ Get() [8/9]

Result httplib::ClientImpl::Get | ( | const std::string & | path,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9580 of file httplib.h.

References Get().

Referenced by Get(), Get(), Get(), Get(), Get(), Get(), and Get().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ Get() [9/9]

Result httplib::ClientImpl::Get | ( | const std::string & | path,
|  | ResponseHandler | response_handler,
|  | ContentReceiver | content_receiver,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9622 of file httplib.h.

References Get().

Here is the call graph for this function:

## ◆ Head() [1/2]

Result httplib::ClientImpl::Head | ( | const std::string & | path | ) |
| inline

Definition at line 9675 of file httplib.h.

References Head().

Referenced by Head().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ Head() [2/2]

Result httplib::ClientImpl::Head | ( | const std::string & | path,
|  | const Headers & | headers
| ) |  |
| inline

Definition at line 9679 of file httplib.h.

References httplib::Request::headers, max_timeout_msec_, httplib::Request::method, httplib::Request::path, and httplib::Request::start_time_.

## ◆ host()

std::string httplib::ClientImpl::host | ( |  | ) | const
| inline

Definition at line 10260 of file httplib.h.

References host_.

Referenced by set_proxy().

Here is the caller graph for this function:

## ◆ is_socket_open()

size_t httplib::ClientImpl::is_socket_open | ( |  | ) | const
| inline

Definition at line 10264 of file httplib.h.

References httplib::ClientImpl::Socket::is_open(), socket_, and socket_mutex_.

Here is the call graph for this function:

## ◆ is_valid()

bool httplib::ClientImpl::is_valid | ( |  | ) | const
| inline virtual

Definition at line 8533 of file httplib.h.

## ◆ Options() [1/2]

Result httplib::ClientImpl::Options | ( | const std::string & | path | ) |
| inline

Definition at line 10220 of file httplib.h.

References Options().

Referenced by Options().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ Options() [2/2]

Result httplib::ClientImpl::Options | ( | const std::string & | path,
|  | const Headers & | headers
| ) |  |
| inline

Definition at line 10224 of file httplib.h.

References httplib::Request::headers, max_timeout_msec_, httplib::Request::method, httplib::Request::path, and httplib::Request::start_time_.

## ◆ output_error_log()

void httplib::ClientImpl::output_error_log | ( | const Error & | err,
|  | const Request * | req
| ) |  | const
| inline protected

Definition at line 9415 of file httplib.h.

References error_logger_, and logger_mutex_.

Referenced by process_request().

Here is the caller graph for this function:

## ◆ output_log()

void httplib::ClientImpl::output_log | ( | const Request & | req,
|  | const Response & | res
| ) |  | const
| inline protected

Definition at line 9407 of file httplib.h.

References logger_, and logger_mutex_.

Referenced by process_request().

Here is the caller graph for this function:

## ◆ Patch() [1/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path | ) |
| inline

Definition at line 9997 of file httplib.h.

References Patch().

Referenced by Patch(), Patch(), Patch(), Patch(), Patch(), Patch(), Patch(), Patch(), Patch(), Patch(), and Patch().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ Patch() [2/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const char * | body,
|  | size_t | content_length,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10006 of file httplib.h.

References Patch().

Here is the call graph for this function:

## ◆ Patch() [3/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const char * | body,
|  | size_t | content_length,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10076 of file httplib.h.

## ◆ Patch() [4/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const Params & | params
| ) |  |
| inline

Definition at line 10040 of file httplib.h.

References Patch().

Here is the call graph for this function:

## ◆ Patch() [5/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const std::string & | body,
|  | const std::string & | content_type,
|  | ContentReceiver | content_receiver,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10126 of file httplib.h.

References httplib::Request::body, httplib::Request::content_receiver, httplib::Request::download_progress, httplib::Request::headers, max_timeout_msec_, httplib::Request::method, httplib::Request::path, httplib::Request::set_header(), and httplib::Request::start_time_.

Here is the call graph for this function:

## ◆ Patch() [6/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const std::string & | body,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10085 of file httplib.h.

## ◆ Patch() [7/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const UploadFormDataItems & | items,
|  | const FormDataProviderItems & | provider_items,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10113 of file httplib.h.

## ◆ Patch() [8/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const UploadFormDataItems & | items,
|  | const std::string & | boundary,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10062 of file httplib.h.

References Patch(), and httplib::UnsupportedMultipartBoundaryChars.

Here is the call graph for this function:

## ◆ Patch() [9/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const UploadFormDataItems & | items,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10052 of file httplib.h.

References Patch().

Here is the call graph for this function:

## ◆ Patch() [10/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const Headers & | headers,
|  | ContentProviderWithoutLength | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10104 of file httplib.h.

## ◆ Patch() [11/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const Headers & | headers,
|  | size_t | content_length,
|  | ContentProvider | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10094 of file httplib.h.

## ◆ Patch() [12/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const Headers & | headers,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10001 of file httplib.h.

References Patch().

Here is the call graph for this function:

## ◆ Patch() [13/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const Params & | params
| ) |  |
| inline

Definition at line 10020 of file httplib.h.

References Patch().

Here is the call graph for this function:

## ◆ Patch() [14/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const std::string & | body,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10013 of file httplib.h.

References Patch().

Here is the call graph for this function:

## ◆ Patch() [15/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | const UploadFormDataItems & | items,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10046 of file httplib.h.

References Patch().

Here is the call graph for this function:

## ◆ Patch() [16/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | ContentProviderWithoutLength | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10032 of file httplib.h.

References Patch().

Here is the call graph for this function:

## ◆ Patch() [17/17]

Result httplib::ClientImpl::Patch | ( | const std::string & | path,
|  | size_t | content_length,
|  | ContentProvider | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 10024 of file httplib.h.

References Patch().

Here is the call graph for this function:

## ◆ port()

int httplib::ClientImpl::port | ( |  | ) | const
| inline

Definition at line 10262 of file httplib.h.

References port_.

Referenced by set_proxy().

Here is the caller graph for this function:

## ◆ Post() [1/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path | ) |
| inline

Definition at line 9692 of file httplib.h.

References Post().

Referenced by Post(), Post(), Post(), Post(), Post(), Post(), Post(), Post(), Post(), Post(), and Post().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ Post() [2/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const char * | body,
|  | size_t | content_length,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9701 of file httplib.h.

References Post().

Here is the call graph for this function:

## ◆ Post() [3/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const Headers & | headers
| ) |  |
| inline

Definition at line 9696 of file httplib.h.

References Post().

Here is the call graph for this function:

## ◆ Post() [4/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const char * | body,
|  | size_t | content_length,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9770 of file httplib.h.

## ◆ Post() [5/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const Params & | params
| ) |  |
| inline

Definition at line 9734 of file httplib.h.

References Post().

Here is the call graph for this function:

## ◆ Post() [6/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const std::string & | body,
|  | const std::string & | content_type,
|  | ContentReceiver | content_receiver,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9819 of file httplib.h.

References httplib::Request::body, httplib::Request::content_receiver, httplib::Request::download_progress, httplib::Request::headers, max_timeout_msec_, httplib::Request::method, httplib::Request::path, httplib::Request::set_header(), and httplib::Request::start_time_.

Here is the call graph for this function:

## ◆ Post() [7/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const std::string & | body,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9778 of file httplib.h.

## ◆ Post() [8/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const UploadFormDataItems & | items,
|  | const FormDataProviderItems & | provider_items,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9806 of file httplib.h.

## ◆ Post() [9/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const UploadFormDataItems & | items,
|  | const std::string & | boundary,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9756 of file httplib.h.

References Post(), and httplib::UnsupportedMultipartBoundaryChars.

Here is the call graph for this function:

## ◆ Post() [10/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const UploadFormDataItems & | items,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9746 of file httplib.h.

References Post().

Here is the call graph for this function:

## ◆ Post() [11/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const Headers & | headers,
|  | ContentProviderWithoutLength | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9797 of file httplib.h.

## ◆ Post() [12/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const Headers & | headers,
|  | size_t | content_length,
|  | ContentProvider | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9787 of file httplib.h.

## ◆ Post() [13/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const Params & | params
| ) |  |
| inline

Definition at line 9714 of file httplib.h.

References Post().

Here is the call graph for this function:

## ◆ Post() [14/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const std::string & | body,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9708 of file httplib.h.

References Post().

Here is the call graph for this function:

## ◆ Post() [15/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | const UploadFormDataItems & | items,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9740 of file httplib.h.

References Post().

Here is the call graph for this function:

## ◆ Post() [16/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | ContentProviderWithoutLength | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9726 of file httplib.h.

References Post().

Here is the call graph for this function:

## ◆ Post() [17/17]

Result httplib::ClientImpl::Post | ( | const std::string & | path,
|  | size_t | content_length,
|  | ContentProvider | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9718 of file httplib.h.

References Post().

Here is the call graph for this function:

## ◆ process_request()

bool httplib::ClientImpl::process_request | ( | Stream & | strm,
|  | Request & | req,
|  | Response & | res,
|  | bool | close_connection,
|  | Error & | error
| ) |  |
| inline protected

Definition at line 9423 of file httplib.h.

References httplib::Response::body, httplib::Canceled, httplib::Request::content_receiver, decompress_, httplib::Request::download_progress, follow_location_, httplib::Response::get_header_value_u64(), httplib::Response::has_header(), httplib::Response::headers, httplib::Request::method, httplib::NoContent_204, httplib::NotModified_304, output_error_log(), output_log(), proxy_host_, proxy_port_, httplib::Read, httplib::Request::response_handler, httplib::ClientImpl::Socket::sock, socket_, httplib::SSLPeerCouldBeClosed_, and httplib::Response::status.

Here is the call graph for this function:

## ◆ Put() [1/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path | ) |
| inline

Definition at line 9845 of file httplib.h.

References Put().

Referenced by Put(), Put(), Put(), Put(), Put(), Put(), Put(), Put(), Put(), Put(), and Put().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ Put() [2/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const char * | body,
|  | size_t | content_length,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9853 of file httplib.h.

References Put().

Here is the call graph for this function:

## ◆ Put() [3/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const Headers & | headers
| ) |  |
| inline

Definition at line 9849 of file httplib.h.

References Put().

Here is the call graph for this function:

## ◆ Put() [4/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const char * | body,
|  | size_t | content_length,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9922 of file httplib.h.

## ◆ Put() [5/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const Params & | params
| ) |  |
| inline

Definition at line 9886 of file httplib.h.

References Put().

Here is the call graph for this function:

## ◆ Put() [6/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const std::string & | body,
|  | const std::string & | content_type,
|  | ContentReceiver | content_receiver,
|  | DownloadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9971 of file httplib.h.

References httplib::Request::body, httplib::Request::content_receiver, httplib::Request::download_progress, httplib::Request::headers, max_timeout_msec_, httplib::Request::method, httplib::Request::path, httplib::Request::set_header(), and httplib::Request::start_time_.

Here is the call graph for this function:

## ◆ Put() [7/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const std::string & | body,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9930 of file httplib.h.

## ◆ Put() [8/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const UploadFormDataItems & | items,
|  | const FormDataProviderItems & | provider_items,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9958 of file httplib.h.

## ◆ Put() [9/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const UploadFormDataItems & | items,
|  | const std::string & | boundary,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9908 of file httplib.h.

References Put(), and httplib::UnsupportedMultipartBoundaryChars.

Here is the call graph for this function:

## ◆ Put() [10/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const Headers & | headers,
|  | const UploadFormDataItems & | items,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9898 of file httplib.h.

References Put().

Here is the call graph for this function:

## ◆ Put() [11/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const Headers & | headers,
|  | ContentProviderWithoutLength | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9949 of file httplib.h.

## ◆ Put() [12/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const Headers & | headers,
|  | size_t | content_length,
|  | ContentProvider | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9939 of file httplib.h.

## ◆ Put() [13/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const Params & | params
| ) |  |
| inline

Definition at line 9866 of file httplib.h.

References Put().

Here is the call graph for this function:

## ◆ Put() [14/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const std::string & | body,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9860 of file httplib.h.

References Put().

Here is the call graph for this function:

## ◆ Put() [15/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | const UploadFormDataItems & | items,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9892 of file httplib.h.

References Put().

Here is the call graph for this function:

## ◆ Put() [16/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | ContentProviderWithoutLength | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9878 of file httplib.h.

References Put().

Here is the call graph for this function:

## ◆ Put() [17/17]

Result httplib::ClientImpl::Put | ( | const std::string & | path,
|  | size_t | content_length,
|  | ContentProvider | content_provider,
|  | const std::string & | content_type,
|  | UploadProgress | progress = `nullptr`
| ) |  |
| inline

Definition at line 9870 of file httplib.h.

References Put().

Here is the call graph for this function:

## ◆ send() [1/2]

Result httplib::ClientImpl::send | ( | const Request & | req | ) |
| inline

Definition at line 8800 of file httplib.h.

## ◆ send() [2/2]

bool httplib::ClientImpl::send | ( | Request & | req,
|  | Response & | res,
|  | Error & | error
| ) |  |
| inline

Definition at line 8681 of file httplib.h.

References request_mutex_, and httplib::SSLPeerCouldBeClosed_.

## ◆ set_address_family()

void httplib::ClientImpl::set_address_family | ( | int | family | ) |
| inline

Definition at line 10328 of file httplib.h.

References address_family_.

## ◆ set_basic_auth()

void httplib::ClientImpl::set_basic_auth | ( | const std::string & | username,
|  | const std::string & | password
| ) |  |
| inline

Definition at line 10290 of file httplib.h.

References basic_auth_password_, and basic_auth_username_.

## ◆ set_bearer_token_auth()

void httplib::ClientImpl::set_bearer_token_auth | ( | const std::string & | token | ) |
| inline

Definition at line 10296 of file httplib.h.

References bearer_token_auth_token_.

## ◆ set_compress()

void httplib::ClientImpl::set_compress | ( | bool | on | ) |
| inline

Definition at line 10340 of file httplib.h.

References compress_.

## ◆ set_connection_timeout() [1/2]

template<class Rep , class Period >

void httplib::ClientImpl::set_connection_timeout | ( | const std::chrono::duration< Rep, Period > & | duration | ) |
| inline

Definition at line 2295 of file httplib.h.

References set_connection_timeout().

Here is the call graph for this function:

## ◆ set_connection_timeout() [2/2]

void httplib::ClientImpl::set_connection_timeout | ( | time_t | sec,
|  | time_t | usec = `0`
| ) |  |
| inline

Definition at line 10271 of file httplib.h.

References connection_timeout_sec_, and connection_timeout_usec_.

Referenced by set_connection_timeout().

Here is the caller graph for this function:

## ◆ set_decompress()

void httplib::ClientImpl::set_decompress | ( | bool | on | ) |
| inline

Definition at line 10342 of file httplib.h.

References decompress_.

## ◆ set_default_headers()

void httplib::ClientImpl::set_default_headers | ( | Headers | headers | ) |
| inline

Definition at line 10319 of file httplib.h.

References default_headers_.

## ◆ set_error_logger()

void httplib::ClientImpl::set_error_logger | ( | ErrorLogger | error_logger | ) |
| inline

Definition at line 10424 of file httplib.h.

References error_logger_.

## ◆ set_follow_location()

void httplib::ClientImpl::set_follow_location | ( | bool | on | ) |
| inline

Definition at line 10310 of file httplib.h.

References follow_location_.

## ◆ set_header_writer()

void httplib::ClientImpl::set_header_writer | ( | std::function< ssize_t(Stream &, Headers &)> const & | writer | ) |
| inline

Definition at line 10323 of file httplib.h.

References header_writer_.

## ◆ set_hostname_addr_map()

void httplib::ClientImpl::set_hostname_addr_map | ( | std::map< std::string, std::string > | addr_map | ) |
| inline

Definition at line 10315 of file httplib.h.

References addr_map_.

## ◆ set_interface()

void httplib::ClientImpl::set_interface | ( | const std::string & | intf | ) |
| inline

Definition at line 10344 of file httplib.h.

References interface_.

## ◆ set_ipv6_v6only()

void httplib::ClientImpl::set_ipv6_v6only | ( | bool | on | ) |
| inline

Definition at line 10334 of file httplib.h.

References ipv6_v6only_.

## ◆ set_keep_alive()

void httplib::ClientImpl::set_keep_alive | ( | bool | on | ) |
| inline

Definition at line 10308 of file httplib.h.

References keep_alive_.

## ◆ set_logger()

void httplib::ClientImpl::set_logger | ( | Logger | logger | ) |
| inline

Definition at line 10420 of file httplib.h.

References logger_.

## ◆ set_max_timeout() [1/2]

template<class Rep , class Period >

void httplib::ClientImpl::set_max_timeout | ( | const std::chrono::duration< Rep, Period > & | duration | ) |
| inline

Definition at line 2317 of file httplib.h.

References set_max_timeout().

Here is the call graph for this function:

## ◆ set_max_timeout() [2/2]

void httplib::ClientImpl::set_max_timeout | ( | time_t | msec | ) |
| inline

Definition at line 10286 of file httplib.h.

References max_timeout_msec_.

Referenced by set_max_timeout().

Here is the caller graph for this function:

## ◆ set_path_encode()

void httplib::ClientImpl::set_path_encode | ( | bool | on | ) |
| inline

Definition at line 10312 of file httplib.h.

References path_encode_.

## ◆ set_proxy()

void httplib::ClientImpl::set_proxy | ( | const std::string & | host,
|  | int | port
| ) |  |
| inline

Definition at line 10348 of file httplib.h.

References host(), port(), proxy_host_, and proxy_port_.

Here is the call graph for this function:

## ◆ set_proxy_basic_auth()

void httplib::ClientImpl::set_proxy_basic_auth | ( | const std::string & | username,
|  | const std::string & | password
| ) |  |
| inline

Definition at line 10353 of file httplib.h.

References proxy_basic_auth_password_, and proxy_basic_auth_username_.

## ◆ set_proxy_bearer_token_auth()

void httplib::ClientImpl::set_proxy_bearer_token_auth | ( | const std::string & | token | ) |
| inline

Definition at line 10359 of file httplib.h.

References proxy_bearer_token_auth_token_.

## ◆ set_read_timeout() [1/2]

template<class Rep , class Period >

void httplib::ClientImpl::set_read_timeout | ( | const std::chrono::duration< Rep, Period > & | duration | ) |
| inline

Definition at line 2303 of file httplib.h.

References set_read_timeout().

Here is the call graph for this function:

## ◆ set_read_timeout() [2/2]

void httplib::ClientImpl::set_read_timeout | ( | time_t | sec,
|  | time_t | usec = `0`
| ) |  |
| inline

Definition at line 10276 of file httplib.h.

References read_timeout_sec_, and read_timeout_usec_.

Referenced by set_read_timeout().

Here is the caller graph for this function:

## ◆ set_socket_options()

void httplib::ClientImpl::set_socket_options | ( | SocketOptions | socket_options | ) |
| inline

Definition at line 10336 of file httplib.h.

References socket_options_.

## ◆ set_tcp_nodelay()

void httplib::ClientImpl::set_tcp_nodelay | ( | bool | on | ) |
| inline

Definition at line 10332 of file httplib.h.

References tcp_nodelay_.

## ◆ set_write_timeout() [1/2]

template<class Rep , class Period >

void httplib::ClientImpl::set_write_timeout | ( | const std::chrono::duration< Rep, Period > & | duration | ) |
| inline

Definition at line 2310 of file httplib.h.

References set_write_timeout().

Here is the call graph for this function:

## ◆ set_write_timeout() [2/2]

void httplib::ClientImpl::set_write_timeout | ( | time_t | sec,
|  | time_t | usec = `0`
| ) |  |
| inline

Definition at line 10281 of file httplib.h.

References write_timeout_sec_, and write_timeout_usec_.

Referenced by set_write_timeout().

Here is the caller graph for this function:

## ◆ shutdown_socket()

void httplib::ClientImpl::shutdown_socket | ( | Socket & | socket | ) | const
| inline protected

Definition at line 8621 of file httplib.h.

References INVALID_SOCKET, and socket().

Referenced by stop(), and ~ClientImpl().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ shutdown_ssl()

void httplib::ClientImpl::shutdown_ssl | ( | Socket & | socket,
|  | bool | shutdown_gracefully
| ) |  |
| inline protected virtual

Definition at line 8613 of file httplib.h.

References socket_requests_are_from_thread_, and socket_requests_in_flight_.

Referenced by stop().

Here is the caller graph for this function:

## ◆ socket()

socket_t httplib::ClientImpl::socket | ( |  | ) | const
| inline

Definition at line 10269 of file httplib.h.

References httplib::ClientImpl::Socket::sock, and socket_.

Referenced by close_socket(), create_and_connect_socket(), and shutdown_socket().

Here is the caller graph for this function:

## ◆ stop()

void httplib::ClientImpl::stop | ( |  | ) |
| inline

Definition at line 10237 of file httplib.h.

References close_socket(), shutdown_socket(), shutdown_ssl(), socket_, socket_mutex_, socket_requests_in_flight_, and socket_should_be_closed_when_request_is_done_.

Here is the call graph for this function:

## ◆ write_content_with_provider()

bool httplib::ClientImpl::write_content_with_provider | ( | Stream & | strm,
|  | const Request & | req,
|  | Error & | error
| ) |  | const
| inline protected

Definition at line 9083 of file httplib.h.

References compress_, httplib::Request::content_length_, httplib::Request::content_provider_, httplib::Request::is_chunked_content_provider_, and httplib::Request::upload_progress.

## Member Data Documentation

## ◆ addr_map_

std::map<std::string, std::string> httplib::ClientImpl::addr_map_
| protected

Definition at line 1613 of file httplib.h.

Referenced by set_hostname_addr_map().

## ◆ address_family_

int httplib::ClientImpl::address_family_ = AF_UNSPEC
| protected

Definition at line 1647 of file httplib.h.

Referenced by copy_settings(), and set_address_family().

## ◆ basic_auth_password_

std::string httplib::ClientImpl::basic_auth_password_
| protected

Definition at line 1635 of file httplib.h.

Referenced by copy_settings(), and set_basic_auth().

## ◆ basic_auth_username_

std::string httplib::ClientImpl::basic_auth_username_
| protected

Definition at line 1634 of file httplib.h.

Referenced by copy_settings(), and set_basic_auth().

## ◆ bearer_token_auth_token_

std::string httplib::ClientImpl::bearer_token_auth_token_
| protected

Definition at line 1636 of file httplib.h.

Referenced by copy_settings(), and set_bearer_token_auth().

## ◆ client_cert_path_

std::string httplib::ClientImpl::client_cert_path_
| protected

Definition at line 1623 of file httplib.h.

Referenced by copy_settings().

## ◆ client_key_path_

std::string httplib::ClientImpl::client_key_path_
| protected

Definition at line 1624 of file httplib.h.

Referenced by copy_settings().

## ◆ compress_

bool httplib::ClientImpl::compress_ = false
| protected

Definition at line 1652 of file httplib.h.

Referenced by copy_settings(), set_compress(), and write_content_with_provider().

## ◆ connection_timeout_sec_

time_t httplib::ClientImpl::connection_timeout_sec_ = 300
| protected

Definition at line 1626 of file httplib.h.

Referenced by copy_settings(), and set_connection_timeout().

## ◆ connection_timeout_usec_

time_t httplib::ClientImpl::connection_timeout_usec_ = 0
| protected

Definition at line 1627 of file httplib.h.

Referenced by set_connection_timeout().

## ◆ decompress_

bool httplib::ClientImpl::decompress_ = true
| protected

Definition at line 1653 of file httplib.h.

Referenced by copy_settings(), process_request(), and set_decompress().

## ◆ default_headers_

Headers httplib::ClientImpl::default_headers_
| protected

Definition at line 1616 of file httplib.h.

Referenced by set_default_headers().

## ◆ error_logger_

ErrorLogger httplib::ClientImpl::error_logger_
| protected

Definition at line 1683 of file httplib.h.

Referenced by copy_settings(), output_error_log(), and set_error_logger().

## ◆ follow_location_

bool httplib::ClientImpl::follow_location_ = false
| protected

Definition at line 1643 of file httplib.h.

Referenced by copy_settings(), process_request(), and set_follow_location().

## ◆ header_writer_

std::function<ssize_t(Stream &, Headers &)> httplib::ClientImpl::header_writer_
| protected

Initial value:
=
detail::write_headers
httplib::detail::write_headers
ssize_t write_headers(Stream &strm, const Headers &headers)
Definition httplib.h:5018

Definition at line 1619 of file httplib.h.

Referenced by set_header_writer().

## ◆ host_

const std::string httplib::ClientImpl::host_
| protected

Definition at line 1598 of file httplib.h.

Referenced by host().

## ◆ host_and_port_

const std::string httplib::ClientImpl::host_and_port_
| protected

Definition at line 1600 of file httplib.h.

## ◆ interface_

std::string httplib::ClientImpl::interface_
| protected

Definition at line 1655 of file httplib.h.

Referenced by copy_settings(), and set_interface().

## ◆ ipv6_v6only_

bool httplib::ClientImpl::ipv6_v6only_ = false
| protected

Definition at line 1649 of file httplib.h.

Referenced by copy_settings(), and set_ipv6_v6only().

## ◆ keep_alive_

bool httplib::ClientImpl::keep_alive_ = false
| protected

Definition at line 1642 of file httplib.h.

Referenced by copy_settings(), and set_keep_alive().

## ◆ logger_

Logger httplib::ClientImpl::logger_
| protected

Definition at line 1682 of file httplib.h.

Referenced by copy_settings(), output_log(), and set_logger().

## ◆ logger_mutex_

std::mutex httplib::ClientImpl::logger_mutex_
| mutable protected

Definition at line 1681 of file httplib.h.

Referenced by output_error_log(), and output_log().

## ◆ max_timeout_msec_

time_t httplib::ClientImpl::max_timeout_msec_ = 0
| protected

Definition at line 1632 of file httplib.h.

Referenced by copy_settings(), Delete(), Get(), Get(), Head(), Options(), Patch(), Post(), Put(), and set_max_timeout().

## ◆ path_encode_

bool httplib::ClientImpl::path_encode_ = true
| protected

Definition at line 1645 of file httplib.h.

Referenced by copy_settings(), and set_path_encode().

## ◆ port_

const int httplib::ClientImpl::port_
| protected

Definition at line 1599 of file httplib.h.

Referenced by port().

## ◆ proxy_basic_auth_password_

std::string httplib::ClientImpl::proxy_basic_auth_password_
| protected

Definition at line 1661 of file httplib.h.

Referenced by copy_settings(), and set_proxy_basic_auth().

## ◆ proxy_basic_auth_username_

std::string httplib::ClientImpl::proxy_basic_auth_username_
| protected

Definition at line 1660 of file httplib.h.

Referenced by copy_settings(), and set_proxy_basic_auth().

## ◆ proxy_bearer_token_auth_token_

std::string httplib::ClientImpl::proxy_bearer_token_auth_token_
| protected

Definition at line 1662 of file httplib.h.

Referenced by copy_settings(), and set_proxy_bearer_token_auth().

## ◆ proxy_host_

std::string httplib::ClientImpl::proxy_host_
| protected

Definition at line 1657 of file httplib.h.

Referenced by copy_settings(), process_request(), and set_proxy().

## ◆ proxy_port_

int httplib::ClientImpl::proxy_port_ = -1
| protected

Definition at line 1658 of file httplib.h.

Referenced by copy_settings(), process_request(), and set_proxy().

## ◆ read_timeout_sec_

time_t httplib::ClientImpl::read_timeout_sec_ = 300
| protected

Definition at line 1628 of file httplib.h.

Referenced by copy_settings(), and set_read_timeout().

## ◆ read_timeout_usec_

time_t httplib::ClientImpl::read_timeout_usec_ = 0
| protected

Definition at line 1629 of file httplib.h.

Referenced by copy_settings(), and set_read_timeout().

## ◆ request_mutex_

std::recursive_mutex httplib::ClientImpl::request_mutex_
| protected

Definition at line 1605 of file httplib.h.

Referenced by send().

## ◆ socket_

Socket httplib::ClientImpl::socket_
| protected

Definition at line 1603 of file httplib.h.

Referenced by is_socket_open(), process_request(), socket(), stop(), and ~ClientImpl().

## ◆ socket_mutex_

std::mutex httplib::ClientImpl::socket_mutex_
| mutable protected

Definition at line 1604 of file httplib.h.

Referenced by is_socket_open(), stop(), and ~ClientImpl().

## ◆ socket_options_

SocketOptions httplib::ClientImpl::socket_options_ = nullptr
| protected

Definition at line 1650 of file httplib.h.

Referenced by copy_settings(), and set_socket_options().

## ◆ socket_requests_are_from_thread_

std::thread::id httplib::ClientImpl::socket_requests_are_from_thread_ = std::thread::id()
| protected

Definition at line 1609 of file httplib.h.

Referenced by close_socket(), and shutdown_ssl().

## ◆ socket_requests_in_flight_

size_t httplib::ClientImpl::socket_requests_in_flight_ = 0
| protected

Definition at line 1608 of file httplib.h.

Referenced by close_socket(), shutdown_ssl(), stop(), and ~ClientImpl().

## ◆ socket_should_be_closed_when_request_is_done_

bool httplib::ClientImpl::socket_should_be_closed_when_request_is_done_ = false
| protected

Definition at line 1610 of file httplib.h.

Referenced by stop().

## ◆ tcp_nodelay_

bool httplib::ClientImpl::tcp_nodelay_ = false
| protected

Definition at line 1648 of file httplib.h.

Referenced by copy_settings(), and set_tcp_nodelay().

## ◆ write_timeout_sec_

time_t httplib::ClientImpl::write_timeout_sec_ = 5
| protected

Definition at line 1630 of file httplib.h.

Referenced by copy_settings(), and set_write_timeout().

## ◆ write_timeout_usec_

time_t httplib::ClientImpl::write_timeout_usec_ = 0
| protected

Definition at line 1631 of file httplib.h.

Referenced by copy_settings(), and set_write_timeout().

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

- integrations/rest_api/httplib.h