feat(status): add HTTP statuses 421 and 451
The official IANA list at http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml has two new status codes that are missing from the hyper status list.
This commit is contained in:
@@ -155,6 +155,9 @@ pub enum StatusCode {
|
|||||||
/// [curiously, not registered by IANA, but [RFC2324](https://tools.ietf.org/html/rfc2324)]
|
/// [curiously, not registered by IANA, but [RFC2324](https://tools.ietf.org/html/rfc2324)]
|
||||||
ImATeapot,
|
ImATeapot,
|
||||||
|
|
||||||
|
/// 421 Misdirected Request
|
||||||
|
/// [RFC7540, Section 9.1.2](http://tools.ietf.org/html/rfc7540#section-9.1.2)
|
||||||
|
MisdirectedRequest,
|
||||||
/// 422 Unprocessable Entity
|
/// 422 Unprocessable Entity
|
||||||
/// [[RFC4918](https://tools.ietf.org/html/rfc4918)]
|
/// [[RFC4918](https://tools.ietf.org/html/rfc4918)]
|
||||||
UnprocessableEntity,
|
UnprocessableEntity,
|
||||||
@@ -180,6 +183,10 @@ pub enum StatusCode {
|
|||||||
/// [[RFC6585](https://tools.ietf.org/html/rfc6585)]
|
/// [[RFC6585](https://tools.ietf.org/html/rfc6585)]
|
||||||
RequestHeaderFieldsTooLarge,
|
RequestHeaderFieldsTooLarge,
|
||||||
|
|
||||||
|
/// 451 Unavailable For Legal Reasons
|
||||||
|
/// [[RFC7725](http://tools.ietf.org/html/rfc7725)]
|
||||||
|
UnavailableForLegalReasons,
|
||||||
|
|
||||||
/// 500 Internal Server Error
|
/// 500 Internal Server Error
|
||||||
/// [[RFC7231, Section 6.6.1](https://tools.ietf.org/html/rfc7231#section-6.6.1)]
|
/// [[RFC7231, Section 6.6.1](https://tools.ietf.org/html/rfc7231#section-6.6.1)]
|
||||||
InternalServerError,
|
InternalServerError,
|
||||||
@@ -265,6 +272,7 @@ impl StatusCode {
|
|||||||
416 => StatusCode::RangeNotSatisfiable,
|
416 => StatusCode::RangeNotSatisfiable,
|
||||||
417 => StatusCode::ExpectationFailed,
|
417 => StatusCode::ExpectationFailed,
|
||||||
418 => StatusCode::ImATeapot,
|
418 => StatusCode::ImATeapot,
|
||||||
|
421 => StatusCode::MisdirectedRequest,
|
||||||
422 => StatusCode::UnprocessableEntity,
|
422 => StatusCode::UnprocessableEntity,
|
||||||
423 => StatusCode::Locked,
|
423 => StatusCode::Locked,
|
||||||
424 => StatusCode::FailedDependency,
|
424 => StatusCode::FailedDependency,
|
||||||
@@ -272,6 +280,7 @@ impl StatusCode {
|
|||||||
428 => StatusCode::PreconditionRequired,
|
428 => StatusCode::PreconditionRequired,
|
||||||
429 => StatusCode::TooManyRequests,
|
429 => StatusCode::TooManyRequests,
|
||||||
431 => StatusCode::RequestHeaderFieldsTooLarge,
|
431 => StatusCode::RequestHeaderFieldsTooLarge,
|
||||||
|
451 => StatusCode::UnavailableForLegalReasons,
|
||||||
500 => StatusCode::InternalServerError,
|
500 => StatusCode::InternalServerError,
|
||||||
501 => StatusCode::NotImplemented,
|
501 => StatusCode::NotImplemented,
|
||||||
502 => StatusCode::BadGateway,
|
502 => StatusCode::BadGateway,
|
||||||
@@ -330,6 +339,7 @@ impl StatusCode {
|
|||||||
StatusCode::RangeNotSatisfiable => 416,
|
StatusCode::RangeNotSatisfiable => 416,
|
||||||
StatusCode::ExpectationFailed => 417,
|
StatusCode::ExpectationFailed => 417,
|
||||||
StatusCode::ImATeapot => 418,
|
StatusCode::ImATeapot => 418,
|
||||||
|
StatusCode::MisdirectedRequest => 421,
|
||||||
StatusCode::UnprocessableEntity => 422,
|
StatusCode::UnprocessableEntity => 422,
|
||||||
StatusCode::Locked => 423,
|
StatusCode::Locked => 423,
|
||||||
StatusCode::FailedDependency => 424,
|
StatusCode::FailedDependency => 424,
|
||||||
@@ -337,6 +347,7 @@ impl StatusCode {
|
|||||||
StatusCode::PreconditionRequired => 428,
|
StatusCode::PreconditionRequired => 428,
|
||||||
StatusCode::TooManyRequests => 429,
|
StatusCode::TooManyRequests => 429,
|
||||||
StatusCode::RequestHeaderFieldsTooLarge => 431,
|
StatusCode::RequestHeaderFieldsTooLarge => 431,
|
||||||
|
StatusCode::UnavailableForLegalReasons => 451,
|
||||||
StatusCode::InternalServerError => 500,
|
StatusCode::InternalServerError => 500,
|
||||||
StatusCode::NotImplemented => 501,
|
StatusCode::NotImplemented => 501,
|
||||||
StatusCode::BadGateway => 502,
|
StatusCode::BadGateway => 502,
|
||||||
@@ -410,6 +421,7 @@ impl StatusCode {
|
|||||||
StatusCode::ExpectationFailed => Some("Expectation Failed"),
|
StatusCode::ExpectationFailed => Some("Expectation Failed"),
|
||||||
StatusCode::ImATeapot => Some("I'm a teapot"),
|
StatusCode::ImATeapot => Some("I'm a teapot"),
|
||||||
|
|
||||||
|
StatusCode::MisdirectedRequest => Some("Misdirected Request"),
|
||||||
StatusCode::UnprocessableEntity => Some("Unprocessable Entity"),
|
StatusCode::UnprocessableEntity => Some("Unprocessable Entity"),
|
||||||
StatusCode::Locked => Some("Locked"),
|
StatusCode::Locked => Some("Locked"),
|
||||||
StatusCode::FailedDependency => Some("Failed Dependency"),
|
StatusCode::FailedDependency => Some("Failed Dependency"),
|
||||||
@@ -421,6 +433,8 @@ impl StatusCode {
|
|||||||
|
|
||||||
StatusCode::RequestHeaderFieldsTooLarge => Some("Request Header Fields Too Large"),
|
StatusCode::RequestHeaderFieldsTooLarge => Some("Request Header Fields Too Large"),
|
||||||
|
|
||||||
|
StatusCode::UnavailableForLegalReasons => Some("Unavailable For Legal Reasons"),
|
||||||
|
|
||||||
StatusCode::InternalServerError => Some("Internal Server Error"),
|
StatusCode::InternalServerError => Some("Internal Server Error"),
|
||||||
StatusCode::NotImplemented => Some("Not Implemented"),
|
StatusCode::NotImplemented => Some("Not Implemented"),
|
||||||
StatusCode::BadGateway => Some("Bad Gateway"),
|
StatusCode::BadGateway => Some("Bad Gateway"),
|
||||||
@@ -704,6 +718,7 @@ mod tests {
|
|||||||
validate(416, RangeNotSatisfiable, BadRequest, Some("Range Not Satisfiable"));
|
validate(416, RangeNotSatisfiable, BadRequest, Some("Range Not Satisfiable"));
|
||||||
validate(417, ExpectationFailed, BadRequest, Some("Expectation Failed"));
|
validate(417, ExpectationFailed, BadRequest, Some("Expectation Failed"));
|
||||||
validate(418, ImATeapot, BadRequest, Some("I'm a teapot"));
|
validate(418, ImATeapot, BadRequest, Some("I'm a teapot"));
|
||||||
|
validate(421, MisdirectedRequest, BadRequest, Some("Misdirected Request"));
|
||||||
validate(422, UnprocessableEntity, BadRequest, Some("Unprocessable Entity"));
|
validate(422, UnprocessableEntity, BadRequest, Some("Unprocessable Entity"));
|
||||||
validate(423, Locked, BadRequest, Some("Locked"));
|
validate(423, Locked, BadRequest, Some("Locked"));
|
||||||
validate(424, FailedDependency, BadRequest, Some("Failed Dependency"));
|
validate(424, FailedDependency, BadRequest, Some("Failed Dependency"));
|
||||||
@@ -712,6 +727,8 @@ mod tests {
|
|||||||
validate(429, TooManyRequests, BadRequest, Some("Too Many Requests"));
|
validate(429, TooManyRequests, BadRequest, Some("Too Many Requests"));
|
||||||
validate(431, RequestHeaderFieldsTooLarge, BadRequest,
|
validate(431, RequestHeaderFieldsTooLarge, BadRequest,
|
||||||
Some("Request Header Fields Too Large"));
|
Some("Request Header Fields Too Large"));
|
||||||
|
validate(451, UnavailableForLegalReasons, BadRequest,
|
||||||
|
Some("Unavailable For Legal Reasons"));
|
||||||
|
|
||||||
validate(500, InternalServerError, InternalServerError, Some("Internal Server Error"));
|
validate(500, InternalServerError, InternalServerError, Some("Internal Server Error"));
|
||||||
validate(501, NotImplemented, InternalServerError, Some("Not Implemented"));
|
validate(501, NotImplemented, InternalServerError, Some("Not Implemented"));
|
||||||
|
|||||||
Reference in New Issue
Block a user