Goby3  3.1.5a
2024.05.23
httplib::detail Namespace Reference

Namespaces

 udl
 

Classes

class  BufferStream
 
struct  ci
 
class  compressor
 
class  ContentProviderAdapter
 
class  decompressor
 
class  MatcherBase
 
class  mmap
 
class  MultipartFormDataParser
 
class  nocompressor
 
class  PathParamsMatcher
 
class  RegexMatcher
 
struct  scope_exit
 
class  SocketStream
 
class  stream_line_reader
 

Enumerations

enum  EncodingType { EncodingType::None = 0, EncodingType::Gzip, EncodingType::Brotli }
 

Functions

template<class T , class... Args>
std::enable_if<!std::is_array< T >::value, std::unique_ptr< T > >::type make_unique (Args &&... args)
 
template<class T >
std::enable_if< std::is_array< T >::value, std::unique_ptr< T > >::type make_unique (std::size_t n)
 
template<typename T , typename U >
void duration_to_sec_and_usec (const T &duration, U callback)
 
uint64_t get_header_value_u64 (const Headers &headers, const std::string &key, size_t id, uint64_t def)
 
std::string encode_query_param (const std::string &value)
 
std::string decode_url (const std::string &s, bool convert_plus_to_space)
 
void read_file (const std::string &path, std::string &out)
 
std::string trim_copy (const std::string &s)
 
void split (const char *b, const char *e, char d, std::function< void(const char *, const char *)> fn)
 
bool process_client_socket (socket_t sock, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, time_t write_timeout_usec, std::function< bool(Stream &)> callback)
 
socket_t create_client_socket (const std::string &host, const std::string &ip, int port, int address_family, bool tcp_nodelay, SocketOptions socket_options, time_t connection_timeout_sec, time_t connection_timeout_usec, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, time_t write_timeout_usec, const std::string &intf, Error &error)
 
const charget_header_value (const Headers &headers, const std::string &key, size_t id=0, const char *def=nullptr)
 
std::string params_to_query_str (const Params &params)
 
void parse_query_text (const std::string &s, Params &params)
 
bool parse_multipart_boundary (const std::string &content_type, std::string &boundary)
 
bool parse_range_header (const std::string &s, Ranges &ranges)
 
int close_socket (socket_t sock)
 
ssize_t send_socket (socket_t sock, const void *ptr, size_t size, int flags)
 
ssize_t read_socket (socket_t sock, void *ptr, size_t size, int flags)
 
EncodingType encoding_type (const Request &req, const Response &res)
 
bool is_hex (char c, int &v)
 
bool from_hex_to_i (const std::string &s, size_t i, size_t cnt, int &val)
 
std::string from_i_to_hex (size_t n)
 
size_t to_utf8 (int code, char *buff)
 
std::string base64_encode (const std::string &in)
 
bool is_file (const std::string &path)
 
bool is_dir (const std::string &path)
 
bool is_valid_path (const std::string &path)
 
std::string encode_url (const std::string &s)
 
std::string file_extension (const std::string &path)
 
bool is_space_or_tab (char c)
 
std::pair< size_t, size_t > trim (const char *b, const char *e, size_t left, size_t right)
 
std::string trim_double_quotes_copy (const std::string &s)
 
template<typename T >
ssize_t handle_EINTR (T fn)
 
ssize_t select_read (socket_t sock, time_t sec, time_t usec)
 
ssize_t select_write (socket_t sock, time_t sec, time_t usec)
 
Error wait_until_socket_is_ready (socket_t sock, time_t sec, time_t usec)
 
bool is_socket_alive (socket_t sock)
 
bool keep_alive (socket_t sock, time_t keep_alive_timeout_sec)
 
template<typename T >
bool process_server_socket_core (const std::atomic< socket_t > &svr_sock, socket_t sock, size_t keep_alive_max_count, time_t keep_alive_timeout_sec, T callback)
 
template<typename T >
bool process_server_socket (const std::atomic< socket_t > &svr_sock, socket_t sock, size_t keep_alive_max_count, time_t keep_alive_timeout_sec, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, time_t write_timeout_usec, T callback)
 
int shutdown_socket (socket_t sock)
 
template<typename BindOrConnect >
socket_t create_socket (const std::string &host, const std::string &ip, int port, int address_family, int socket_flags, bool tcp_nodelay, SocketOptions socket_options, BindOrConnect bind_or_connect)
 
void set_nonblocking (socket_t sock, bool nonblocking)
 
bool is_connection_error ()
 
bool bind_ip_address (socket_t sock, const std::string &host)
 
std::string if2ip (int address_family, const std::string &ifn)
 
bool get_ip_and_port (const struct sockaddr_storage &addr, socklen_t addr_len, std::string &ip, int &port)
 
void get_local_ip_and_port (socket_t sock, std::string &ip, int &port)
 
void get_remote_ip_and_port (socket_t sock, std::string &ip, int &port)
 
constexpr unsigned int str2tag_core (const char *s, size_t l, unsigned int h)
 
unsigned int str2tag (const std::string &s)
 
std::string find_content_type (const std::string &path, const std::map< std::string, std::string > &user_data, const std::string &default_content_type)
 
bool can_compress_content_type (const std::string &content_type)
 
bool has_header (const Headers &headers, const std::string &key)
 
bool compare_case_ignore (const std::string &a, const std::string &b)
 
template<typename T >
bool parse_header (const char *beg, const char *end, T fn)
 
bool read_headers (Stream &strm, Headers &headers)
 
bool read_content_with_length (Stream &strm, uint64_t len, Progress progress, ContentReceiverWithProgress out)
 
void skip_content_with_length (Stream &strm, uint64_t len)
 
bool read_content_without_length (Stream &strm, ContentReceiverWithProgress out)
 
template<typename T >
bool read_content_chunked (Stream &strm, T &x, ContentReceiverWithProgress out)
 
bool is_chunked_transfer_encoding (const Headers &headers)
 
template<typename T , typename U >
bool prepare_content_receiver (T &x, int &status, ContentReceiverWithProgress receiver, bool decompress, U callback)
 
template<typename T >
bool read_content (Stream &strm, T &x, size_t payload_max_length, int &status, Progress progress, ContentReceiverWithProgress receiver, bool decompress)
 
ssize_t write_headers (Stream &strm, const Headers &headers)
 
bool write_data (Stream &strm, const char *d, size_t l)
 
template<typename T >
bool write_content (Stream &strm, const ContentProvider &content_provider, size_t offset, size_t length, T is_shutting_down, Error &error)
 
template<typename T >
bool write_content (Stream &strm, const ContentProvider &content_provider, size_t offset, size_t length, const T &is_shutting_down)
 
template<typename T >
bool write_content_without_length (Stream &strm, const ContentProvider &content_provider, const T &is_shutting_down)
 
template<typename T , typename U >
bool write_content_chunked (Stream &strm, const ContentProvider &content_provider, const T &is_shutting_down, U &compressor, Error &error)
 
template<typename T , typename U >
bool write_content_chunked (Stream &strm, const ContentProvider &content_provider, const T &is_shutting_down, U &compressor)
 
template<typename T >
bool redirect (T &cli, Request &req, Response &res, const std::string &path, const std::string &location, Error &error)
 
void parse_disposition_params (const std::string &s, Params &params)
 
std::string to_lower (const char *beg, const char *end)
 
std::string make_multipart_data_boundary ()
 
bool is_multipart_boundary_chars_valid (const std::string &boundary)
 
template<typename T >
std::string serialize_multipart_formdata_item_begin (const T &item, const std::string &boundary)
 
std::string serialize_multipart_formdata_item_end ()
 
std::string serialize_multipart_formdata_finish (const std::string &boundary)
 
std::string serialize_multipart_formdata_get_content_type (const std::string &boundary)
 
std::string serialize_multipart_formdata (const MultipartFormDataItems &items, const std::string &boundary, bool finish=true)
 
std::pair< size_t, size_t > get_range_offset_and_length (const Request &req, size_t content_length, size_t index)
 
std::string make_content_range_header_field (const std::pair< ssize_t, ssize_t > &range, size_t content_length)
 
template<typename SToken , typename CToken , typename Content >
bool process_multipart_ranges_data (const Request &req, Response &res, const std::string &boundary, const std::string &content_type, SToken stoken, CToken ctoken, Content content)
 
bool make_multipart_ranges_data (const Request &req, Response &res, const std::string &boundary, const std::string &content_type, std::string &data)
 
size_t get_multipart_ranges_data_length (const Request &req, Response &res, const std::string &boundary, const std::string &content_type)
 
template<typename T >
bool write_multipart_ranges_data (Stream &strm, const Request &req, Response &res, const std::string &boundary, const std::string &content_type, const T &is_shutting_down)
 
std::pair< size_t, size_t > get_range_offset_and_length (const Request &req, const Response &res, size_t index)
 
bool expect_content (const Request &req)
 
bool has_crlf (const std::string &s)
 
bool parse_www_authenticate (const Response &res, std::map< std::string, std::string > &auth, bool is_proxy)
 
std::string random_string (size_t length)
 

Enumeration Type Documentation

◆ EncodingType

Enumerator
None 
Gzip 
Brotli 

Definition at line 1967 of file httplib.h.

Function Documentation

◆ base64_encode()

std::string httplib::detail::base64_encode ( const std::string &  in)
inline

Definition at line 2244 of file httplib.h.

◆ bind_ip_address()

bool httplib::detail::bind_ip_address ( socket_t  sock,
const std::string &  host 
)
inline

Definition at line 3240 of file httplib.h.

◆ can_compress_content_type()

bool httplib::detail::can_compress_content_type ( const std::string &  content_type)
inline

Definition at line 3582 of file httplib.h.

◆ close_socket()

int httplib::detail::close_socket ( socket_t  sock)
inline

Definition at line 2726 of file httplib.h.

◆ compare_case_ignore()

bool httplib::detail::compare_case_ignore ( const std::string &  a,
const std::string &  b 
)
inline

Definition at line 3890 of file httplib.h.

◆ create_client_socket()

socket_t httplib::detail::create_client_socket ( const std::string &  host,
const std::string &  ip,
int  port,
int  address_family,
bool  tcp_nodelay,
SocketOptions  socket_options,
time_t  connection_timeout_sec,
time_t  connection_timeout_usec,
time_t  read_timeout_sec,
time_t  read_timeout_usec,
time_t  write_timeout_sec,
time_t  write_timeout_usec,
const std::string &  intf,
Error error 
)
inline

Definition at line 3324 of file httplib.h.

◆ create_socket()

template<typename BindOrConnect >
socket_t httplib::detail::create_socket ( const std::string &  host,
const std::string &  ip,
int  port,
int  address_family,
int  socket_flags,
bool  tcp_nodelay,
SocketOptions  socket_options,
BindOrConnect  bind_or_connect 
)

Definition at line 3063 of file httplib.h.

◆ decode_url()

std::string httplib::detail::decode_url ( const std::string &  s,
bool  convert_plus_to_space 
)
inline

Definition at line 2394 of file httplib.h.

◆ duration_to_sec_and_usec()

template<typename T , typename U >
void httplib::detail::duration_to_sec_and_usec ( const T &  duration,
callback 
)
inline

Definition at line 1654 of file httplib.h.

◆ encode_query_param()

std::string httplib::detail::encode_query_param ( const std::string &  value)
inline

Definition at line 2332 of file httplib.h.

◆ encode_url()

std::string httplib::detail::encode_url ( const std::string &  s)
inline

Definition at line 2356 of file httplib.h.

◆ encoding_type()

EncodingType httplib::detail::encoding_type ( const Request req,
const Response res 
)
inline

Definition at line 3601 of file httplib.h.

◆ expect_content()

bool httplib::detail::expect_content ( const Request req)
inline

Definition at line 5286 of file httplib.h.

◆ file_extension()

std::string httplib::detail::file_extension ( const std::string &  path)
inline

Definition at line 2459 of file httplib.h.

◆ find_content_type()

std::string httplib::detail::find_content_type ( const std::string &  path,
const std::map< std::string, std::string > &  user_data,
const std::string &  default_content_type 
)
inline

Definition at line 3512 of file httplib.h.

◆ from_hex_to_i()

bool httplib::detail::from_hex_to_i ( const std::string &  s,
size_t  i,
size_t  cnt,
int val 
)
inline

Definition at line 2160 of file httplib.h.

◆ from_i_to_hex()

std::string httplib::detail::from_i_to_hex ( size_t  n)
inline

Definition at line 2187 of file httplib.h.

◆ get_header_value()

const char * httplib::detail::get_header_value ( const Headers headers,
const std::string &  key,
size_t  id = 0,
const char def = nullptr 
)
inline

Definition at line 3877 of file httplib.h.

◆ get_header_value_u64()

uint64_t httplib::detail::get_header_value_u64 ( const Headers headers,
const std::string &  key,
size_t  id,
uint64_t  def 
)
inline

Definition at line 1663 of file httplib.h.

◆ get_ip_and_port()

bool httplib::detail::get_ip_and_port ( const struct sockaddr_storage &  addr,
socklen_t  addr_len,
std::string &  ip,
int port 
)
inline

Definition at line 3422 of file httplib.h.

◆ get_local_ip_and_port()

void httplib::detail::get_local_ip_and_port ( socket_t  sock,
std::string &  ip,
int port 
)
inline

Definition at line 3449 of file httplib.h.

◆ get_multipart_ranges_data_length()

size_t httplib::detail::get_multipart_ranges_data_length ( const Request req,
Response res,
const std::string &  boundary,
const std::string &  content_type 
)
inline

Definition at line 5242 of file httplib.h.

◆ get_range_offset_and_length() [1/2]

std::pair<size_t, size_t> httplib::detail::get_range_offset_and_length ( const Request req,
const Response res,
size_t  index 
)
inline

Definition at line 5273 of file httplib.h.

◆ get_range_offset_and_length() [2/2]

std::pair<size_t, size_t> httplib::detail::get_range_offset_and_length ( const Request req,
size_t  content_length,
size_t  index 
)
inline

Definition at line 5141 of file httplib.h.

◆ get_remote_ip_and_port()

void httplib::detail::get_remote_ip_and_port ( socket_t  sock,
std::string &  ip,
int port 
)
inline

Definition at line 3459 of file httplib.h.

◆ handle_EINTR()

template<typename T >
ssize_t httplib::detail::handle_EINTR ( fn)
inline

Definition at line 2735 of file httplib.h.

◆ has_crlf()

bool httplib::detail::has_crlf ( const std::string &  s)
inline

Definition at line 5297 of file httplib.h.

◆ has_header()

bool httplib::detail::has_header ( const Headers headers,
const std::string &  key 
)
inline

Definition at line 3872 of file httplib.h.

◆ if2ip()

std::string httplib::detail::if2ip ( int  address_family,
const std::string &  ifn 
)
inline

Definition at line 3275 of file httplib.h.

◆ is_chunked_transfer_encoding()

bool httplib::detail::is_chunked_transfer_encoding ( const Headers headers)
inline

Definition at line 4159 of file httplib.h.

◆ is_connection_error()

bool httplib::detail::is_connection_error ( )
inline

Definition at line 3231 of file httplib.h.

◆ is_dir()

bool httplib::detail::is_dir ( const std::string &  path)
inline

Definition at line 2285 of file httplib.h.

◆ is_file()

bool httplib::detail::is_file ( const std::string &  path)
inline

Definition at line 2275 of file httplib.h.

◆ is_hex()

bool httplib::detail::is_hex ( char  c,
int v 
)
inline

Definition at line 2140 of file httplib.h.

◆ is_multipart_boundary_chars_valid()

bool httplib::detail::is_multipart_boundary_chars_valid ( const std::string &  boundary)
inline

Definition at line 5077 of file httplib.h.

◆ is_socket_alive()

bool httplib::detail::is_socket_alive ( socket_t  sock)
inline

Definition at line 2907 of file httplib.h.

◆ is_space_or_tab()

bool httplib::detail::is_space_or_tab ( char  c)
inline

Definition at line 2470 of file httplib.h.

◆ is_valid_path()

bool httplib::detail::is_valid_path ( const std::string &  path)
inline

Definition at line 2291 of file httplib.h.

◆ keep_alive()

bool httplib::detail::keep_alive ( socket_t  sock,
time_t  keep_alive_timeout_sec 
)
inline

Definition at line 2977 of file httplib.h.

◆ make_content_range_header_field()

std::string httplib::detail::make_content_range_header_field ( const std::pair< ssize_t, ssize_t > &  range,
size_t  content_length 
)
inline

Definition at line 5166 of file httplib.h.

◆ make_multipart_data_boundary()

std::string httplib::detail::make_multipart_data_boundary ( )
inline

Definition at line 5057 of file httplib.h.

◆ make_multipart_ranges_data()

bool httplib::detail::make_multipart_ranges_data ( const Request req,
Response res,
const std::string &  boundary,
const std::string &  content_type,
std::string &  data 
)
inline

Definition at line 5224 of file httplib.h.

◆ make_unique() [1/2]

template<class T , class... Args>
std::enable_if<!std::is_array<T>::value, std::unique_ptr<T> >::type httplib::detail::make_unique ( Args &&...  args)

Definition at line 308 of file httplib.h.

◆ make_unique() [2/2]

template<class T >
std::enable_if<std::is_array<T>::value, std::unique_ptr<T> >::type httplib::detail::make_unique ( std::size_t  n)

Definition at line 315 of file httplib.h.

◆ params_to_query_str()

std::string httplib::detail::params_to_query_str ( const Params params)
inline

Definition at line 4557 of file httplib.h.

◆ parse_disposition_params()

void httplib::detail::parse_disposition_params ( const std::string &  s,
Params params 
)
inline

Definition at line 4623 of file httplib.h.

◆ parse_header()

template<typename T >
bool httplib::detail::parse_header ( const char beg,
const char end,
fn 
)
inline

Definition at line 3906 of file httplib.h.

◆ parse_multipart_boundary()

bool httplib::detail::parse_multipart_boundary ( const std::string &  content_type,
std::string &  boundary 
)
inline

Definition at line 4609 of file httplib.h.

◆ parse_query_text()

void httplib::detail::parse_query_text ( const std::string &  s,
Params params 
)
inline

Definition at line 4574 of file httplib.h.

◆ parse_range_header()

bool httplib::detail::parse_range_header ( const std::string &  s,
Ranges ranges 
)
inline

Definition at line 4662 of file httplib.h.

◆ parse_www_authenticate()

bool httplib::detail::parse_www_authenticate ( const Response res,
std::map< std::string, std::string > &  auth,
bool  is_proxy 
)
inline

Definition at line 5580 of file httplib.h.

◆ prepare_content_receiver()

template<typename T , typename U >
bool httplib::detail::prepare_content_receiver ( T &  x,
int status,
ContentReceiverWithProgress  receiver,
bool  decompress,
callback 
)

Definition at line 4165 of file httplib.h.

◆ process_client_socket()

bool httplib::detail::process_client_socket ( socket_t  sock,
time_t  read_timeout_sec,
time_t  read_timeout_usec,
time_t  write_timeout_sec,
time_t  write_timeout_usec,
std::function< bool(Stream &)>  callback 
)
inline

Definition at line 3044 of file httplib.h.

◆ process_multipart_ranges_data()

template<typename SToken , typename CToken , typename Content >
bool httplib::detail::process_multipart_ranges_data ( const Request req,
Response res,
const std::string &  boundary,
const std::string &  content_type,
SToken  stoken,
CToken  ctoken,
Content  content 
)

Definition at line 5185 of file httplib.h.

◆ process_server_socket()

template<typename T >
bool httplib::detail::process_server_socket ( const std::atomic< socket_t > &  svr_sock,
socket_t  sock,
size_t  keep_alive_max_count,
time_t  keep_alive_timeout_sec,
time_t  read_timeout_sec,
time_t  read_timeout_usec,
time_t  write_timeout_sec,
time_t  write_timeout_usec,
callback 
)
inline

Definition at line 3029 of file httplib.h.

◆ process_server_socket_core()

template<typename T >
bool httplib::detail::process_server_socket_core ( const std::atomic< socket_t > &  svr_sock,
socket_t  sock,
size_t  keep_alive_max_count,
time_t  keep_alive_timeout_sec,
callback 
)
inline

Definition at line 3007 of file httplib.h.

◆ random_string()

std::string httplib::detail::random_string ( size_t  length)
inline

Definition at line 5619 of file httplib.h.

◆ read_content()

template<typename T >
bool httplib::detail::read_content ( Stream strm,
T &  x,
size_t  payload_max_length,
int status,
Progress  progress,
ContentReceiverWithProgress  receiver,
bool  decompress 
)

Definition at line 4219 of file httplib.h.

◆ read_content_chunked()

template<typename T >
bool httplib::detail::read_content_chunked ( Stream strm,
T &  x,
ContentReceiverWithProgress  out 
)
inline

Definition at line 4073 of file httplib.h.

◆ read_content_with_length()

bool httplib::detail::read_content_with_length ( Stream strm,
uint64_t  len,
Progress  progress,
ContentReceiverWithProgress  out 
)
inline

Definition at line 3997 of file httplib.h.

◆ read_content_without_length()

bool httplib::detail::read_content_without_length ( Stream strm,
ContentReceiverWithProgress  out 
)
inline

Definition at line 4046 of file httplib.h.

◆ read_file()

void httplib::detail::read_file ( const std::string &  path,
std::string &  out 
)
inline

Definition at line 2449 of file httplib.h.

◆ read_headers()

bool httplib::detail::read_headers ( Stream strm,
Headers headers 
)
inline

Definition at line 3940 of file httplib.h.

◆ read_socket()

ssize_t httplib::detail::read_socket ( socket_t  sock,
void *  ptr,
size_t  size,
int  flags 
)
inline

Definition at line 2750 of file httplib.h.

◆ redirect()

template<typename T >
bool httplib::detail::redirect ( T &  cli,
Request req,
Response res,
const std::string &  path,
const std::string &  location,
Error error 
)
inline

Definition at line 4529 of file httplib.h.

◆ select_read()

ssize_t httplib::detail::select_read ( socket_t  sock,
time_t  sec,
time_t  usec 
)
inline

Definition at line 2780 of file httplib.h.

◆ select_write()

ssize_t httplib::detail::select_write ( socket_t  sock,
time_t  sec,
time_t  usec 
)
inline

Definition at line 2811 of file httplib.h.

◆ send_socket()

ssize_t httplib::detail::send_socket ( socket_t  sock,
const void *  ptr,
size_t  size,
int  flags 
)
inline

Definition at line 2765 of file httplib.h.

◆ serialize_multipart_formdata()

std::string httplib::detail::serialize_multipart_formdata ( const MultipartFormDataItems items,
const std::string &  boundary,
bool  finish = true 
)
inline

Definition at line 5124 of file httplib.h.

◆ serialize_multipart_formdata_finish()

std::string httplib::detail::serialize_multipart_formdata_finish ( const std::string &  boundary)
inline

Definition at line 5114 of file httplib.h.

◆ serialize_multipart_formdata_get_content_type()

std::string httplib::detail::serialize_multipart_formdata_get_content_type ( const std::string &  boundary)
inline

Definition at line 5119 of file httplib.h.

◆ serialize_multipart_formdata_item_begin()

template<typename T >
std::string httplib::detail::serialize_multipart_formdata_item_begin ( const T &  item,
const std::string &  boundary 
)
inline

Definition at line 5093 of file httplib.h.

◆ serialize_multipart_formdata_item_end()

std::string httplib::detail::serialize_multipart_formdata_item_end ( )
inline

Definition at line 5112 of file httplib.h.

◆ set_nonblocking()

void httplib::detail::set_nonblocking ( socket_t  sock,
bool  nonblocking 
)
inline

Definition at line 3220 of file httplib.h.

◆ shutdown_socket()

int httplib::detail::shutdown_socket ( socket_t  sock)
inline

Definition at line 3053 of file httplib.h.

◆ skip_content_with_length()

void httplib::detail::skip_content_with_length ( Stream strm,
uint64_t  len 
)
inline

Definition at line 4030 of file httplib.h.

◆ split()

void httplib::detail::split ( const char b,
const char e,
char  d,
std::function< void(const char *, const char *)>  fn 
)
inline

Definition at line 2494 of file httplib.h.

◆ str2tag()

unsigned int httplib::detail::str2tag ( const std::string &  s)
inline

Definition at line 3500 of file httplib.h.

◆ str2tag_core()

constexpr unsigned int httplib::detail::str2tag_core ( const char s,
size_t  l,
unsigned int  h 
)
inlineconstexpr

Definition at line 3491 of file httplib.h.

◆ to_lower()

std::string httplib::detail::to_lower ( const char beg,
const char end 
)
inline

Definition at line 5045 of file httplib.h.

◆ to_utf8()

size_t httplib::detail::to_utf8 ( int  code,
char buff 
)
inline

Definition at line 2198 of file httplib.h.

◆ trim()

std::pair<size_t, size_t> httplib::detail::trim ( const char b,
const char e,
size_t  left,
size_t  right 
)
inline

Definition at line 2472 of file httplib.h.

◆ trim_copy()

std::string httplib::detail::trim_copy ( const std::string &  s)
inline

Definition at line 2479 of file httplib.h.

◆ trim_double_quotes_copy()

std::string httplib::detail::trim_double_quotes_copy ( const std::string &  s)
inline

Definition at line 2485 of file httplib.h.

◆ wait_until_socket_is_ready()

Error httplib::detail::wait_until_socket_is_ready ( socket_t  sock,
time_t  sec,
time_t  usec 
)
inline

Definition at line 2842 of file httplib.h.

◆ write_content() [1/2]

template<typename T >
bool httplib::detail::write_content ( Stream strm,
const ContentProvider content_provider,
size_t  offset,
size_t  length,
const T &  is_shutting_down 
)
inline

Definition at line 4344 of file httplib.h.

◆ write_content() [2/2]

template<typename T >
bool httplib::detail::write_content ( Stream strm,
const ContentProvider content_provider,
size_t  offset,
size_t  length,
is_shutting_down,
Error error 
)
inline

Definition at line 4297 of file httplib.h.

◆ write_content_chunked() [1/2]

template<typename T , typename U >
bool httplib::detail::write_content_chunked ( Stream strm,
const ContentProvider content_provider,
const T &  is_shutting_down,
U &  compressor 
)
inline

Definition at line 4521 of file httplib.h.

◆ write_content_chunked() [2/2]

template<typename T , typename U >
bool httplib::detail::write_content_chunked ( Stream strm,
const ContentProvider content_provider,
const T &  is_shutting_down,
U &  compressor,
Error error 
)
inline

Definition at line 4394 of file httplib.h.

◆ write_content_without_length()

template<typename T >
bool httplib::detail::write_content_without_length ( Stream strm,
const ContentProvider content_provider,
const T &  is_shutting_down 
)
inline

Definition at line 4352 of file httplib.h.

◆ write_data()

bool httplib::detail::write_data ( Stream strm,
const char d,
size_t  l 
)
inline

Definition at line 4281 of file httplib.h.

◆ write_headers()

ssize_t httplib::detail::write_headers ( Stream strm,
const Headers headers 
)
inline

Definition at line 4260 of file httplib.h.

◆ write_multipart_ranges_data()

template<typename T >
bool httplib::detail::write_multipart_ranges_data ( Stream strm,
const Request req,
Response res,
const std::string &  boundary,
const std::string &  content_type,
const T &  is_shutting_down 
)
inline

Definition at line 5262 of file httplib.h.