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.