@@ -155,6 +155,9 @@ pub enum StatusCode {
155155 /// [curiously, not registered by IANA, but [RFC2324](https://tools.ietf.org/html/rfc2324)]
156156 ImATeapot ,
157157
158+ /// 421 Misdirected Request
159+ /// [RFC7540, Section 9.1.2](http://tools.ietf.org/html/rfc7540#section-9.1.2)
160+ MisdirectedRequest ,
158161 /// 422 Unprocessable Entity
159162 /// [[RFC4918](https://tools.ietf.org/html/rfc4918)]
160163 UnprocessableEntity ,
@@ -180,6 +183,10 @@ pub enum StatusCode {
180183 /// [[RFC6585](https://tools.ietf.org/html/rfc6585)]
181184 RequestHeaderFieldsTooLarge ,
182185
186+ /// 451 Unavailable For Legal Reasons
187+ /// [[RFC7725](http://tools.ietf.org/html/rfc7725)]
188+ UnavailableForLegalReasons ,
189+
183190 /// 500 Internal Server Error
184191 /// [[RFC7231, Section 6.6.1](https://tools.ietf.org/html/rfc7231#section-6.6.1)]
185192 InternalServerError ,
@@ -265,13 +272,15 @@ impl StatusCode {
265272 416 => StatusCode :: RangeNotSatisfiable ,
266273 417 => StatusCode :: ExpectationFailed ,
267274 418 => StatusCode :: ImATeapot ,
275+ 421 => StatusCode :: MisdirectedRequest ,
268276 422 => StatusCode :: UnprocessableEntity ,
269277 423 => StatusCode :: Locked ,
270278 424 => StatusCode :: FailedDependency ,
271279 426 => StatusCode :: UpgradeRequired ,
272280 428 => StatusCode :: PreconditionRequired ,
273281 429 => StatusCode :: TooManyRequests ,
274282 431 => StatusCode :: RequestHeaderFieldsTooLarge ,
283+ 451 => StatusCode :: UnavailableForLegalReasons ,
275284 500 => StatusCode :: InternalServerError ,
276285 501 => StatusCode :: NotImplemented ,
277286 502 => StatusCode :: BadGateway ,
@@ -330,13 +339,15 @@ impl StatusCode {
330339 StatusCode :: RangeNotSatisfiable => 416 ,
331340 StatusCode :: ExpectationFailed => 417 ,
332341 StatusCode :: ImATeapot => 418 ,
342+ StatusCode :: MisdirectedRequest => 421 ,
333343 StatusCode :: UnprocessableEntity => 422 ,
334344 StatusCode :: Locked => 423 ,
335345 StatusCode :: FailedDependency => 424 ,
336346 StatusCode :: UpgradeRequired => 426 ,
337347 StatusCode :: PreconditionRequired => 428 ,
338348 StatusCode :: TooManyRequests => 429 ,
339349 StatusCode :: RequestHeaderFieldsTooLarge => 431 ,
350+ StatusCode :: UnavailableForLegalReasons => 451 ,
340351 StatusCode :: InternalServerError => 500 ,
341352 StatusCode :: NotImplemented => 501 ,
342353 StatusCode :: BadGateway => 502 ,
@@ -410,6 +421,7 @@ impl StatusCode {
410421 StatusCode :: ExpectationFailed => Some ( "Expectation Failed" ) ,
411422 StatusCode :: ImATeapot => Some ( "I'm a teapot" ) ,
412423
424+ StatusCode :: MisdirectedRequest => Some ( "Misdirected Request" ) ,
413425 StatusCode :: UnprocessableEntity => Some ( "Unprocessable Entity" ) ,
414426 StatusCode :: Locked => Some ( "Locked" ) ,
415427 StatusCode :: FailedDependency => Some ( "Failed Dependency" ) ,
@@ -421,6 +433,8 @@ impl StatusCode {
421433
422434 StatusCode :: RequestHeaderFieldsTooLarge => Some ( "Request Header Fields Too Large" ) ,
423435
436+ StatusCode :: UnavailableForLegalReasons => Some ( "Unavailable For Legal Reasons" ) ,
437+
424438 StatusCode :: InternalServerError => Some ( "Internal Server Error" ) ,
425439 StatusCode :: NotImplemented => Some ( "Not Implemented" ) ,
426440 StatusCode :: BadGateway => Some ( "Bad Gateway" ) ,
@@ -704,6 +718,7 @@ mod tests {
704718 validate ( 416 , RangeNotSatisfiable , BadRequest , Some ( "Range Not Satisfiable" ) ) ;
705719 validate ( 417 , ExpectationFailed , BadRequest , Some ( "Expectation Failed" ) ) ;
706720 validate ( 418 , ImATeapot , BadRequest , Some ( "I'm a teapot" ) ) ;
721+ validate ( 421 , MisdirectedRequest , BadRequest , Some ( "Misdirected Request" ) ) ;
707722 validate ( 422 , UnprocessableEntity , BadRequest , Some ( "Unprocessable Entity" ) ) ;
708723 validate ( 423 , Locked , BadRequest , Some ( "Locked" ) ) ;
709724 validate ( 424 , FailedDependency , BadRequest , Some ( "Failed Dependency" ) ) ;
@@ -712,6 +727,8 @@ mod tests {
712727 validate ( 429 , TooManyRequests , BadRequest , Some ( "Too Many Requests" ) ) ;
713728 validate ( 431 , RequestHeaderFieldsTooLarge , BadRequest ,
714729 Some ( "Request Header Fields Too Large" ) ) ;
730+ validate ( 451 , UnavailableForLegalReasons , BadRequest ,
731+ Some ( "Unavailable For Legal Reasons" ) ) ;
715732
716733 validate ( 500 , InternalServerError , InternalServerError , Some ( "Internal Server Error" ) ) ;
717734 validate ( 501 , NotImplemented , InternalServerError , Some ( "Not Implemented" ) ) ;
0 commit comments