httplib Namespace Reference

Namespaces

namespace  detail
 

Classes

class  Client
 
class  ClientImpl
 
class  ContentReader
 
class  DataSink
 
struct  MultipartFormData
 
struct  MultipartFormDataProvider
 
struct  Request
 
struct  Response
 
class  Result
 
class  Server
 
class  Stream
 
class  TaskQueue
 
class  ThreadPool
 

Typedefs

using ContentProvider
 
using ContentProviderResourceReleaser = std::function<void(bool success)>
 
using ContentProviderWithoutLength
 
using ContentReceiver
 
using ContentReceiverWithProgress
 
using Headers
 
using Logger = std::function<void(const Request &, const Response &)>
 
using Match = std::smatch
 
using MultipartContentHeader
 
using MultipartFormDataItems = std::vector<MultipartFormData>
 
using MultipartFormDataMap = std::multimap<std::string, MultipartFormData>
 
using MultipartFormDataProviderItems = std::vector<MultipartFormDataProvider>
 
using Params = std::multimap<std::string, std::string>
 
using Progress = std::function<bool(uint64_t current, uint64_t total)>
 
using Range = std::pair<ssize_t, ssize_t>
 
using Ranges = std::vector<Range>
 
using ResponseHandler = std::function<bool(const Response &response)>
 
using SocketOptions = std::function<void(socket_t sock)>
 

Enumerations

enum class  Error {
  Success = 0 , Unknown , Connection , BindIPAddress ,
  Read , Write , ExceedRedirectCount , Canceled ,
  SSLConnection , SSLLoadingCerts , SSLServerVerification , SSLServerHostnameVerification ,
  UnsupportedMultipartBoundaryChars , Compression , ConnectionTimeout , ProxyConnection ,
  SSLPeerCouldBeClosed_
}
 
enum  StatusCode {
  Continue_100 = 100 , SwitchingProtocol_101 = 101 , Processing_102 = 102 , EarlyHints_103 = 103 ,
  OK_200 = 200 , Created_201 = 201 , Accepted_202 = 202 , NonAuthoritativeInformation_203 = 203 ,
  NoContent_204 = 204 , ResetContent_205 = 205 , PartialContent_206 = 206 , MultiStatus_207 = 207 ,
  AlreadyReported_208 = 208 , IMUsed_226 = 226 , MultipleChoices_300 = 300 , MovedPermanently_301 = 301 ,
  Found_302 = 302 , SeeOther_303 = 303 , NotModified_304 = 304 , UseProxy_305 = 305 ,
  unused_306 = 306 , TemporaryRedirect_307 = 307 , PermanentRedirect_308 = 308 , BadRequest_400 = 400 ,
  Unauthorized_401 = 401 , PaymentRequired_402 = 402 , Forbidden_403 = 403 , NotFound_404 = 404 ,
  MethodNotAllowed_405 = 405 , NotAcceptable_406 = 406 , ProxyAuthenticationRequired_407 = 407 , RequestTimeout_408 = 408 ,
  Conflict_409 = 409 , Gone_410 = 410 , LengthRequired_411 = 411 , PreconditionFailed_412 = 412 ,
  PayloadTooLarge_413 = 413 , UriTooLong_414 = 414 , UnsupportedMediaType_415 = 415 , RangeNotSatisfiable_416 = 416 ,
  ExpectationFailed_417 = 417 , ImATeapot_418 = 418 , MisdirectedRequest_421 = 421 , UnprocessableContent_422 = 422 ,
  Locked_423 = 423 , FailedDependency_424 = 424 , TooEarly_425 = 425 , UpgradeRequired_426 = 426 ,
  PreconditionRequired_428 = 428 , TooManyRequests_429 = 429 , RequestHeaderFieldsTooLarge_431 = 431 , UnavailableForLegalReasons_451 = 451 ,
  InternalServerError_500 = 500 , NotImplemented_501 = 501 , BadGateway_502 = 502 , ServiceUnavailable_503 = 503 ,
  GatewayTimeout_504 = 504 , HttpVersionNotSupported_505 = 505 , VariantAlsoNegotiates_506 = 506 , InsufficientStorage_507 = 507 ,
  LoopDetected_508 = 508 , NotExtended_510 = 510 , NetworkAuthenticationRequired_511 = 511
}
 

Functions

std::string append_query_params (const std::string &path, const Params &params)
 
void default_socket_options (socket_t sock)
 
std::string get_bearer_token_auth (const Request &req)
 
std::string hosted_at (const std::string &hostname)
 
void hosted_at (const std::string &hostname, std::vector< std::string > &addrs)
 
std::pair< std::string, std::string > make_basic_authentication_header (const std::string &username, const std::string &password, bool is_proxy=false)
 
std::pair< std::string, std::string > make_bearer_token_authentication_header (const std::string &token, bool is_proxy=false)
 
std::pair< std::string, std::string > make_range_header (const Ranges &ranges)
 
std::ostream & operator<< (std::ostream &os, const Error &obj)
 
const char * status_message (int status)
 
std::string to_string (Error error)
 

Typedef Documentation

◆ ContentProvider

Initial value:
std::function<bool(size_t offset, size_t length, DataSink &sink)>
Definition httplib.h:527

◆ ContentProviderResourceReleaser

using ContentProviderResourceReleaser = std::function<void(bool success)>

◆ ContentProviderWithoutLength

Initial value:
std::function<bool(size_t offset, DataSink &sink)>

◆ ContentReceiver

Initial value:
std::function<bool(const char *data, size_t data_length)>
uint8_t data[1]
Definition EtherCATFrame.h:10

◆ ContentReceiverWithProgress

Initial value:
std::function<bool(const char *data, size_t data_length, uint64_t offset,
uint64_t total_length)>

◆ Headers

using Headers
Initial value:
std::unordered_multimap<std::string, std::string, detail::case_ignore::hash,
Definition httplib.h:383

◆ Logger

using Logger = std::function<void(const Request &, const Response &)>

◆ Match

using Match = std::smatch

◆ MultipartContentHeader

Initial value:
std::function<bool(const MultipartFormData &file)>
Definition httplib.h:518

◆ MultipartFormDataItems

◆ MultipartFormDataMap

using MultipartFormDataMap = std::multimap<std::string, MultipartFormData>

◆ MultipartFormDataProviderItems

◆ Params

using Params = std::multimap<std::string, std::string>

◆ Progress

using Progress = std::function<bool(uint64_t current, uint64_t total)>

◆ Range

using Range = std::pair<ssize_t, ssize_t>

◆ Ranges

using Ranges = std::vector<Range>

◆ ResponseHandler

using ResponseHandler = std::function<bool(const Response &response)>

◆ SocketOptions

using SocketOptions = std::function<void(socket_t sock)>

Enumeration Type Documentation

◆ Error

enum class Error
strong
Enumerator
Success 
Unknown 
Connection 
BindIPAddress 
Read 
Write 
ExceedRedirectCount 
Canceled 
SSLConnection 
SSLLoadingCerts 
SSLServerVerification 
SSLServerHostnameVerification 
UnsupportedMultipartBoundaryChars 
Compression 
ConnectionTimeout 
ProxyConnection 
SSLPeerCouldBeClosed_ 

◆ StatusCode

enum StatusCode
Enumerator
Continue_100 
SwitchingProtocol_101 
Processing_102 
EarlyHints_103 
OK_200 
Created_201 
Accepted_202 
NonAuthoritativeInformation_203 
NoContent_204 
ResetContent_205 
PartialContent_206 
MultiStatus_207 
AlreadyReported_208 
IMUsed_226 
MultipleChoices_300 
MovedPermanently_301 
Found_302 
SeeOther_303 
NotModified_304 
UseProxy_305 
unused_306 
TemporaryRedirect_307 
PermanentRedirect_308 
BadRequest_400 
Unauthorized_401 
PaymentRequired_402 
Forbidden_403 
NotFound_404 
MethodNotAllowed_405 
NotAcceptable_406 
ProxyAuthenticationRequired_407 
RequestTimeout_408 
Conflict_409 
Gone_410 
LengthRequired_411 
PreconditionFailed_412 
PayloadTooLarge_413 
UriTooLong_414 
UnsupportedMediaType_415 
RangeNotSatisfiable_416 
ExpectationFailed_417 
ImATeapot_418 
MisdirectedRequest_421 
UnprocessableContent_422 
Locked_423 
FailedDependency_424 
TooEarly_425 
UpgradeRequired_426 
PreconditionRequired_428 
TooManyRequests_429 
RequestHeaderFieldsTooLarge_431 
UnavailableForLegalReasons_451 
InternalServerError_500 
NotImplemented_501 
BadGateway_502 
ServiceUnavailable_503 
GatewayTimeout_504 
HttpVersionNotSupported_505 
VariantAlsoNegotiates_506 
InsufficientStorage_507 
LoopDetected_508 
NotExtended_510 
NetworkAuthenticationRequired_511 

Function Documentation

◆ append_query_params()

std::string append_query_params ( const std::string & path,
const Params & params )
inline

◆ default_socket_options()

void default_socket_options ( socket_t sock)
inline

◆ get_bearer_token_auth()

std::string get_bearer_token_auth ( const Request & req)
inline

◆ hosted_at() [1/2]

std::string hosted_at ( const std::string & hostname)
inline

◆ hosted_at() [2/2]

void hosted_at ( const std::string & hostname,
std::vector< std::string > & addrs )
inline

◆ make_basic_authentication_header()

std::pair< std::string, std::string > make_basic_authentication_header ( const std::string & username,
const std::string & password,
bool is_proxy = false )
inline

◆ make_bearer_token_authentication_header()

std::pair< std::string, std::string > make_bearer_token_authentication_header ( const std::string & token,
bool is_proxy = false )
inline

◆ make_range_header()

std::pair< std::string, std::string > make_range_header ( const Ranges & ranges)
inline

◆ operator<<()

std::ostream & operator<< ( std::ostream & os,
const Error & obj )
inline

◆ status_message()

const char * status_message ( int status)
inline

◆ to_string()

std::string to_string ( Error error)
inline