Server parts of the HTTP protocol implementation.
Classes | |
| class | Cookie | 
| HTTP response cookie.  More... | |
| class | CustomHandlerException | 
| An extension of server::handlers::CustomHandlerException that allows to specify a custom HttpStatus.  More... | |
| struct | FormDataArg | 
| Argument of a multipart/form-data request.  More... | |
| class | HttpRequest | 
| HTTP Request data.  More... | |
| class | HttpResponse | 
| HTTP Response data.  More... | |
| class | ResponseBodyStream | 
Enumerations | |
| enum class | HttpMethod {  kDelete , kGet , kHead , kPost , kPut , kPatch , kConnect , kOptions , kUnknown }  | 
| List of HTTP methods.  More... | |
| enum class | HttpStatus {  kContinue = 100 , kSwitchingProtocols = 101 , kProcessing = 102 , kOk = 200 , kCreated = 201 , kAccepted = 202 , kNonAuthoritativeInformation = 203 , kNoContent = 204 , kResetContent = 205 , kPartialContent = 206 , kMultiStatus = 207 , kAlreadyReported = 208 , kImUsed = 226 , kMultipleChoices = 300 , kMovedPermanently = 301 , kFound = 302 , kSeeOther = 303 , kNotModified = 304 , kUseProxy = 305 , kTemporaryRedirect = 307 , kPermanentRedirect = 308 , kBadRequest = 400 , kUnauthorized = 401 , kPaymentRequired = 402 , kForbidden = 403 , kNotFound = 404 , kMethodNotAllowed = 405 , kNotAcceptable = 406 , kProxyAuthenticationRequired = 407 , kRequestTimeout = 408 , kConflict = 409 , kGone = 410 , kLengthRequired = 411 , kPreconditionFailed = 412 , kPayloadTooLarge = 413 , kUriTooLong = 414 , kUnsupportedMediaType = 415 , kRangeNotSatisfiable = 416 , kExpectationFailed = 417 , kImATeapot = 418 , kMisdirectedRequest = 421 , kUnprocessableEntity = 422 , kLocked = 423 , kFailedDependency = 424 , kTooEarly = 425 , kUpgradeRequired = 426 , kPreconditionRequired = 428 , kTooManyRequests = 429 , kRequestHeaderFieldsTooLarge = 431 , kUnavailableForLegalReasons = 451 , kDeadlineExpired = 498 , kClientClosedRequest = 499 , kInternalServerError = 500 , kNotImplemented = 501 , kBadGateway = 502 , kServiceUnavailable = 503 , kGatewayTimeout = 504 , kHttpVersionNotSupported = 505 , kVariantAlsoNegotiates = 506 , kInsufficientStorage = 507 , kLoopDetected = 508 , kNotExtended = 510 , kNetworkAuthenticationRequired = 511 }  | 
| HTTP status codes.  More... | |
Functions | |
| HttpStatus | GetHttpStatus (handlers::HandlerErrorCode) noexcept | 
| Get http status code mapped to generic handler error code.   | |
| HttpStatus | GetHttpStatus (const handlers::CustomHandlerException &exception) noexcept | 
| const std::string & | ToString (HttpMethod method) noexcept | 
| Convert HTTP method enum value to string.  | |
| HttpMethod | HttpMethodFromString (std::string_view method_str) | 
| Convert HTTP method string to enum value.  | |
| void | SetThrottleReason (http::HttpResponse &http_response, std::string log_reason, std::string http_header_reason) | 
| std::string_view | HttpStatusString (HttpStatus status) | 
| std::string | ToString (HttpStatus status) | 
      
  | 
  strong | 
List of HTTP methods.
Definition at line 16 of file http_method.hpp.
      
  | 
  strong | 
HTTP status codes.
Definition at line 15 of file http_status.hpp.
      
  | 
  noexcept | 
For server::http::CustomHandlerException, uses the provided HttpStatus. For a generic server::handler::CustomHandlerException, converts its server::handler::HandlerErrorCode to HttpStatus.
      
  | 
  noexcept | 
Get http status code mapped to generic handler error code.
If there is no explicit mapping in the http_error.cpp, will return HttpStatus::kBadRequest for code values less than HandlerErrorCode::kServerSideError and will return HttpStatus::kInternalServerError for the rest of codes.