|
template<class T , class... Args> |
std::enable_if<!std::is_array< T >::value, std::unique_ptr< T > >::type | httplib::detail::make_unique (Args &&... args) |
|
template<class T > |
std::enable_if< std::is_array< T >::value, std::unique_ptr< T > >::type | httplib::detail::make_unique (std::size_t n) |
|
void | httplib::default_socket_options (socket_t sock) |
|
const char * | httplib::status_message (int status) |
|
std::string | httplib::to_string (const Error error) |
|
std::ostream & | httplib::operator<< (std::ostream &os, const Error &obj) |
|
template<typename T , typename U > |
void | httplib::detail::duration_to_sec_and_usec (const T &duration, U callback) |
|
uint64_t | httplib::detail::get_header_value_u64 (const Headers &headers, const std::string &key, size_t id, uint64_t def) |
|
std::string | httplib::hosted_at (const std::string &hostname) |
|
void | httplib::hosted_at (const std::string &hostname, std::vector< std::string > &addrs) |
|
std::string | httplib::append_query_params (const std::string &path, const Params ¶ms) |
|
std::pair< std::string, std::string > | httplib::make_range_header (Ranges ranges) |
|
std::pair< std::string, std::string > | httplib::make_basic_authentication_header (const std::string &username, const std::string &password, bool is_proxy=false) |
|
std::string | httplib::detail::encode_query_param (const std::string &value) |
|
std::string | httplib::detail::decode_url (const std::string &s, bool convert_plus_to_space) |
|
void | httplib::detail::read_file (const std::string &path, std::string &out) |
|
std::string | httplib::detail::trim_copy (const std::string &s) |
|
void | httplib::detail::split (const char *b, const char *e, char d, std::function< void(const char *, const char *)> fn) |
|
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) |
|
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) |
|
const char * | httplib::detail::get_header_value (const Headers &headers, const std::string &key, size_t id=0, const char *def=nullptr) |
|
std::string | httplib::detail::params_to_query_str (const Params ¶ms) |
|
void | httplib::detail::parse_query_text (const std::string &s, Params ¶ms) |
|
bool | httplib::detail::parse_multipart_boundary (const std::string &content_type, std::string &boundary) |
|
bool | httplib::detail::parse_range_header (const std::string &s, Ranges &ranges) |
|
int | httplib::detail::close_socket (socket_t sock) |
|
ssize_t | httplib::detail::send_socket (socket_t sock, const void *ptr, size_t size, int flags) |
|
ssize_t | httplib::detail::read_socket (socket_t sock, void *ptr, size_t size, int flags) |
|
EncodingType | httplib::detail::encoding_type (const Request &req, const Response &res) |
|
bool | httplib::detail::is_hex (char c, int &v) |
|
bool | httplib::detail::from_hex_to_i (const std::string &s, size_t i, size_t cnt, int &val) |
|
std::string | httplib::detail::from_i_to_hex (size_t n) |
|
size_t | httplib::detail::to_utf8 (int code, char *buff) |
|
std::string | httplib::detail::base64_encode (const std::string &in) |
|
bool | httplib::detail::is_file (const std::string &path) |
|
bool | httplib::detail::is_dir (const std::string &path) |
|
bool | httplib::detail::is_valid_path (const std::string &path) |
|
std::string | httplib::detail::encode_url (const std::string &s) |
|
std::string | httplib::detail::file_extension (const std::string &path) |
|
bool | httplib::detail::is_space_or_tab (char c) |
|
std::pair< size_t, size_t > | httplib::detail::trim (const char *b, const char *e, size_t left, size_t right) |
|
std::string | httplib::detail::trim_double_quotes_copy (const std::string &s) |
|
template<typename T > |
ssize_t | httplib::detail::handle_EINTR (T fn) |
|
ssize_t | httplib::detail::select_read (socket_t sock, time_t sec, time_t usec) |
|
ssize_t | httplib::detail::select_write (socket_t sock, time_t sec, time_t usec) |
|
Error | httplib::detail::wait_until_socket_is_ready (socket_t sock, time_t sec, time_t usec) |
|
bool | httplib::detail::is_socket_alive (socket_t sock) |
|
bool | httplib::detail::keep_alive (socket_t sock, time_t keep_alive_timeout_sec) |
|
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, T callback) |
|
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, T callback) |
|
int | httplib::detail::shutdown_socket (socket_t sock) |
|
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) |
|
void | httplib::detail::set_nonblocking (socket_t sock, bool nonblocking) |
|
bool | httplib::detail::is_connection_error () |
|
bool | httplib::detail::bind_ip_address (socket_t sock, const std::string &host) |
|
std::string | httplib::detail::if2ip (int address_family, const std::string &ifn) |
|
bool | httplib::detail::get_ip_and_port (const struct sockaddr_storage &addr, socklen_t addr_len, std::string &ip, int &port) |
|
void | httplib::detail::get_local_ip_and_port (socket_t sock, std::string &ip, int &port) |
|
void | httplib::detail::get_remote_ip_and_port (socket_t sock, std::string &ip, int &port) |
|
constexpr unsigned int | httplib::detail::str2tag_core (const char *s, size_t l, unsigned int h) |
|
unsigned int | httplib::detail::str2tag (const std::string &s) |
|
constexpr unsigned int | httplib::detail::udl::operator""_t (const char *s, size_t l) |
|
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) |
|
bool | httplib::detail::can_compress_content_type (const std::string &content_type) |
|
bool | httplib::detail::has_header (const Headers &headers, const std::string &key) |
|
bool | httplib::detail::compare_case_ignore (const std::string &a, const std::string &b) |
|
template<typename T > |
bool | httplib::detail::parse_header (const char *beg, const char *end, T fn) |
|
bool | httplib::detail::read_headers (Stream &strm, Headers &headers) |
|
bool | httplib::detail::read_content_with_length (Stream &strm, uint64_t len, Progress progress, ContentReceiverWithProgress out) |
|
void | httplib::detail::skip_content_with_length (Stream &strm, uint64_t len) |
|
bool | httplib::detail::read_content_without_length (Stream &strm, ContentReceiverWithProgress out) |
|
template<typename T > |
bool | httplib::detail::read_content_chunked (Stream &strm, T &x, ContentReceiverWithProgress out) |
|
bool | httplib::detail::is_chunked_transfer_encoding (const Headers &headers) |
|
template<typename T , typename U > |
bool | httplib::detail::prepare_content_receiver (T &x, int &status, ContentReceiverWithProgress receiver, bool decompress, U callback) |
|
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) |
|
ssize_t | httplib::detail::write_headers (Stream &strm, const Headers &headers) |
|
bool | httplib::detail::write_data (Stream &strm, const char *d, size_t l) |
|
template<typename T > |
bool | httplib::detail::write_content (Stream &strm, const ContentProvider &content_provider, size_t offset, size_t length, T is_shutting_down, Error &error) |
|
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) |
|
template<typename T > |
bool | httplib::detail::write_content_without_length (Stream &strm, const ContentProvider &content_provider, const T &is_shutting_down) |
|
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) |
|
template<typename T , typename U > |
bool | httplib::detail::write_content_chunked (Stream &strm, const ContentProvider &content_provider, const T &is_shutting_down, U &compressor) |
|
template<typename T > |
bool | httplib::detail::redirect (T &cli, Request &req, Response &res, const std::string &path, const std::string &location, Error &error) |
|
void | httplib::detail::parse_disposition_params (const std::string &s, Params ¶ms) |
|
std::string | httplib::detail::to_lower (const char *beg, const char *end) |
|
std::string | httplib::detail::make_multipart_data_boundary () |
|
bool | httplib::detail::is_multipart_boundary_chars_valid (const std::string &boundary) |
|
template<typename T > |
std::string | httplib::detail::serialize_multipart_formdata_item_begin (const T &item, const std::string &boundary) |
|
std::string | httplib::detail::serialize_multipart_formdata_item_end () |
|
std::string | httplib::detail::serialize_multipart_formdata_finish (const std::string &boundary) |
|
std::string | httplib::detail::serialize_multipart_formdata_get_content_type (const std::string &boundary) |
|
std::string | httplib::detail::serialize_multipart_formdata (const MultipartFormDataItems &items, const std::string &boundary, bool finish=true) |
|
std::pair< size_t, size_t > | httplib::detail::get_range_offset_and_length (const Request &req, size_t content_length, size_t index) |
|
std::string | httplib::detail::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 | 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) |
|
bool | httplib::detail::make_multipart_ranges_data (const Request &req, Response &res, const std::string &boundary, const std::string &content_type, std::string &data) |
|
size_t | httplib::detail::get_multipart_ranges_data_length (const Request &req, Response &res, const std::string &boundary, const std::string &content_type) |
|
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) |
|
std::pair< size_t, size_t > | httplib::detail::get_range_offset_and_length (const Request &req, const Response &res, size_t index) |
|
bool | httplib::detail::expect_content (const Request &req) |
|
bool | httplib::detail::has_crlf (const std::string &s) |
|
bool | httplib::detail::parse_www_authenticate (const Response &res, std::map< std::string, std::string > &auth, bool is_proxy) |
|
std::string | httplib::detail::random_string (size_t length) |
|
std::pair< std::string, std::string > | httplib::make_bearer_token_authentication_header (const std::string &token, bool is_proxy=false) |
|