use
{
std::
{
fmt::
{
self,
Display,
},
},
};
#[allow(dead_code)]
pub enum Status
{
Continue,
SwitchingProtocols,
Processing,
EarlyHints,
Ok,
Created,
Accepted,
NonAuthoritativeInformation,
NoContent,
ResetContent,
PartialContent,
MultiStatus,
AlreadyReported,
IMUsed,
MultipleChoices,
MovedPermanently,
Found,
SeeOther,
NotModified,
UseProxy,
TemporaryRedirect,
PermanentRedirect,
BadRequest,
Unauthorized,
PaymentRequired,
Forbidden,
NotFound,
MethodNotAllowed,
NotAcceptable,
ProxyAuthenticationRequired,
RequestTimeout,
Conflict,
Gone,
LengthRequired,
PreconditionFailed,
PayloadTooLarge,
URITooLong,
UnsupportedMediaType,
RangeNotSatisfiable,
ExpectationFailed,
MisdirectedRequest,
UnprocessableEntity,
Locked,
FailedDependency,
TooEarly,
UpgradeRequired,
PreconditionRequired,
TooManyRequests,
RequestHeaderFieldsTooLarge,
UnavailableForLegalReasons,
InternalServerError,
NotImplemented,
BadGateway,
ServiceUnavailable,
GatewayTimeout,
HTTPVersionNotSupported,
VariantAlsoNegotiates,
InsufficientStorage,
LoopDetected,
NotExtended,
NetworkAuthenticationRequired,
}
impl Display for Status
{
fn fmt
(
&self,
formatter: &mut fmt::Formatter<'_>
)
-> fmt::Result
{
formatter
.write_str
(
&format!
(
"HTTP/{}",
match self
{
Status::Continue => "100 Continue",
Status::SwitchingProtocols => "101 Switching Protocols",
Status::Processing => "102 Processing",
Status::EarlyHints => "103 Early Hints",
Status::Ok => "200 OK",
Status::Created => "201 Created",
Status::Accepted => "202 Accepted",
Status::NonAuthoritativeInformation => "203 Non-Authoritative Information",
Status::NoContent => "204 No Content",
Status::ResetContent => "205 Reset Content",
Status::PartialContent => "206 Partial Content",
Status::MultiStatus => "207 Multi-Status",
Status::AlreadyReported => "208 Already Reported",
Status::IMUsed => "226 IM Used",
Status::MultipleChoices => "300 Multiple Choices",
Status::MovedPermanently => "301 Moved Permanently",
Status::Found => "302 Found",
Status::SeeOther => "303 See Other",
Status::NotModified => "304 Not Modified",
Status::UseProxy => "305 Use Proxy",
Status::TemporaryRedirect => "307 Temporary Redirect",
Status::PermanentRedirect => "308 Permanent Redirect",
Status::BadRequest => "400 Bad Request",
Status::Unauthorized => "401 Unauthorized",
Status::PaymentRequired => "402 Payment Required",
Status::Forbidden => "403 Forbidden",
Status::NotFound => "404 Not Found",
Status::MethodNotAllowed => "405 Method Not Allowed",
Status::NotAcceptable => "406 Not Acceptable",
Status::ProxyAuthenticationRequired => "407 Proxy Authentication Required",
Status::RequestTimeout => "408 Request Timeout",
Status::Conflict => "409 Conflict",
Status::Gone => "410 Gone",
Status::LengthRequired => "411 Length Required",
Status::PreconditionFailed => "412 Precondition Failed",
Status::PayloadTooLarge => "413 Payload Too Large",
Status::URITooLong => "414 URI Too Long",
Status::UnsupportedMediaType => "415 Unsupported Media Type",
Status::RangeNotSatisfiable => "416 Range Not Satisfiable",
Status::ExpectationFailed => "417 Expectation Failed",
Status::MisdirectedRequest => "421 Misdirected Request",
Status::UnprocessableEntity => "422 Unprocessable Entity",
Status::Locked => "423 Locked",
Status::FailedDependency => "424 Failed Dependency",
Status::TooEarly => "425 Too Early",
Status::UpgradeRequired => "426 Upgrade Required",
Status::PreconditionRequired => "428 Precondition Required",
Status::TooManyRequests => "429 Too Many Requests",
Status::RequestHeaderFieldsTooLarge => "431 Request Header Fields Too Large",
Status::UnavailableForLegalReasons => "451 Unavailable For Legal Reasons",
Status::InternalServerError => "500 Internal Server Error",
Status::NotImplemented => "501 Not Implemented",
Status::BadGateway => "502 Bad Gateway",
Status::ServiceUnavailable => "503 Service Unavailable",
Status::GatewayTimeout => "504 Gateway Timeout",
Status::HTTPVersionNotSupported => "505 HTTP Version Not Supported",
Status::VariantAlsoNegotiates => "506 Variant Also Negotiates",
Status::InsufficientStorage => "507 Insufficient Storage",
Status::LoopDetected => "508 Loop Detected",
Status::NotExtended => "510 Not Extended",
Status::NetworkAuthenticationRequired => "511 Network Authentication Required",
}
)
)
}
}