10USERVER_NAMESPACE_BEGIN
12namespace server::http {
17 kSwitchingProtocols = 101,
22 kNonAuthoritativeInformation = 203,
25 kPartialContent = 206,
27 kAlreadyReported = 208,
29 kMultipleChoices = 300,
30 kMovedPermanently = 301,
35 kTemporaryRedirect = 307,
36 kPermanentRedirect = 308,
39 kPaymentRequired = 402,
42 kMethodNotAllowed = 405,
44 kProxyAuthenticationRequired = 407,
45 kRequestTimeout = 408,
48 kLengthRequired = 411,
49 kPreconditionFailed = 412,
50 kPayloadTooLarge = 413,
52 kUnsupportedMediaType = 415,
53 kRangeNotSatisfiable = 416,
54 kExpectationFailed = 417,
56 kMisdirectedRequest = 421,
57 kUnprocessableEntity = 422,
59 kFailedDependency = 424,
61 kUpgradeRequired = 426,
62 kPreconditionRequired = 428,
63 kTooManyRequests = 429,
64 kRequestHeaderFieldsTooLarge = 431,
65 kUnavailableForLegalReasons = 451,
66 kDeadlineExpired = 498,
67 kClientClosedRequest = 499,
68 kInternalServerError = 500,
69 kNotImplemented = 501,
71 kServiceUnavailable = 503,
72 kGatewayTimeout = 504,
73 kHttpVersionNotSupported = 505,
74 kVariantAlsoNegotiates = 506,
75 kInsufficientStorage = 507,
78 kNetworkAuthenticationRequired = 511,
81std::string_view HttpStatusString(HttpStatus status);
90struct fmt::formatter<USERVER_NAMESPACE::server::http::HttpStatus> {
91 constexpr static auto parse(format_parse_context& ctx) {
return ctx.begin(); }
93 template <
typename FormatContext>
94 auto format(USERVER_NAMESPACE::server::http::HttpStatus status,
95 FormatContext& ctx)
const {
96 return fmt::format_to(
97 ctx.out(),
"{} {}",
static_cast<
int>(status),
98 USERVER_NAMESPACE::server::http::HttpStatusString(status));