@@ -155,6 +155,9 @@ pub enum StatusCode {
155
155
/// [curiously, not registered by IANA, but [RFC2324](https://tools.ietf.org/html/rfc2324)]
156
156
ImATeapot ,
157
157
158
+ /// 421 Misdirected Request
159
+ /// [RFC7540, Section 9.1.2](http://tools.ietf.org/html/rfc7540#section-9.1.2)
160
+ MisdirectedRequest ,
158
161
/// 422 Unprocessable Entity
159
162
/// [[RFC4918](https://tools.ietf.org/html/rfc4918)]
160
163
UnprocessableEntity ,
@@ -180,6 +183,10 @@ pub enum StatusCode {
180
183
/// [[RFC6585](https://tools.ietf.org/html/rfc6585)]
181
184
RequestHeaderFieldsTooLarge ,
182
185
186
+ /// 451 Unavailable For Legal Reasons
187
+ /// [[RFC7725](http://tools.ietf.org/html/rfc7725)]
188
+ UnavailableForLegalReasons ,
189
+
183
190
/// 500 Internal Server Error
184
191
/// [[RFC7231, Section 6.6.1](https://tools.ietf.org/html/rfc7231#section-6.6.1)]
185
192
InternalServerError ,
@@ -265,13 +272,15 @@ impl StatusCode {
265
272
416 => StatusCode :: RangeNotSatisfiable ,
266
273
417 => StatusCode :: ExpectationFailed ,
267
274
418 => StatusCode :: ImATeapot ,
275
+ 421 => StatusCode :: MisdirectedRequest ,
268
276
422 => StatusCode :: UnprocessableEntity ,
269
277
423 => StatusCode :: Locked ,
270
278
424 => StatusCode :: FailedDependency ,
271
279
426 => StatusCode :: UpgradeRequired ,
272
280
428 => StatusCode :: PreconditionRequired ,
273
281
429 => StatusCode :: TooManyRequests ,
274
282
431 => StatusCode :: RequestHeaderFieldsTooLarge ,
283
+ 451 => StatusCode :: UnavailableForLegalReasons ,
275
284
500 => StatusCode :: InternalServerError ,
276
285
501 => StatusCode :: NotImplemented ,
277
286
502 => StatusCode :: BadGateway ,
@@ -330,13 +339,15 @@ impl StatusCode {
330
339
StatusCode :: RangeNotSatisfiable => 416 ,
331
340
StatusCode :: ExpectationFailed => 417 ,
332
341
StatusCode :: ImATeapot => 418 ,
342
+ StatusCode :: MisdirectedRequest => 421 ,
333
343
StatusCode :: UnprocessableEntity => 422 ,
334
344
StatusCode :: Locked => 423 ,
335
345
StatusCode :: FailedDependency => 424 ,
336
346
StatusCode :: UpgradeRequired => 426 ,
337
347
StatusCode :: PreconditionRequired => 428 ,
338
348
StatusCode :: TooManyRequests => 429 ,
339
349
StatusCode :: RequestHeaderFieldsTooLarge => 431 ,
350
+ StatusCode :: UnavailableForLegalReasons => 451 ,
340
351
StatusCode :: InternalServerError => 500 ,
341
352
StatusCode :: NotImplemented => 501 ,
342
353
StatusCode :: BadGateway => 502 ,
@@ -410,6 +421,7 @@ impl StatusCode {
410
421
StatusCode :: ExpectationFailed => Some ( "Expectation Failed" ) ,
411
422
StatusCode :: ImATeapot => Some ( "I'm a teapot" ) ,
412
423
424
+ StatusCode :: MisdirectedRequest => Some ( "Misdirected Request" ) ,
413
425
StatusCode :: UnprocessableEntity => Some ( "Unprocessable Entity" ) ,
414
426
StatusCode :: Locked => Some ( "Locked" ) ,
415
427
StatusCode :: FailedDependency => Some ( "Failed Dependency" ) ,
@@ -421,6 +433,8 @@ impl StatusCode {
421
433
422
434
StatusCode :: RequestHeaderFieldsTooLarge => Some ( "Request Header Fields Too Large" ) ,
423
435
436
+ StatusCode :: UnavailableForLegalReasons => Some ( "Unavailable For Legal Reasons" ) ,
437
+
424
438
StatusCode :: InternalServerError => Some ( "Internal Server Error" ) ,
425
439
StatusCode :: NotImplemented => Some ( "Not Implemented" ) ,
426
440
StatusCode :: BadGateway => Some ( "Bad Gateway" ) ,
@@ -704,6 +718,7 @@ mod tests {
704
718
validate ( 416 , RangeNotSatisfiable , BadRequest , Some ( "Range Not Satisfiable" ) ) ;
705
719
validate ( 417 , ExpectationFailed , BadRequest , Some ( "Expectation Failed" ) ) ;
706
720
validate ( 418 , ImATeapot , BadRequest , Some ( "I'm a teapot" ) ) ;
721
+ validate ( 421 , MisdirectedRequest , BadRequest , Some ( "Misdirected Request" ) ) ;
707
722
validate ( 422 , UnprocessableEntity , BadRequest , Some ( "Unprocessable Entity" ) ) ;
708
723
validate ( 423 , Locked , BadRequest , Some ( "Locked" ) ) ;
709
724
validate ( 424 , FailedDependency , BadRequest , Some ( "Failed Dependency" ) ) ;
@@ -712,6 +727,8 @@ mod tests {
712
727
validate ( 429 , TooManyRequests , BadRequest , Some ( "Too Many Requests" ) ) ;
713
728
validate ( 431 , RequestHeaderFieldsTooLarge , BadRequest ,
714
729
Some ( "Request Header Fields Too Large" ) ) ;
730
+ validate ( 451 , UnavailableForLegalReasons , BadRequest ,
731
+ Some ( "Unavailable For Legal Reasons" ) ) ;
715
732
716
733
validate ( 500 , InternalServerError , InternalServerError , Some ( "Internal Server Error" ) ) ;
717
734
validate ( 501 , NotImplemented , InternalServerError , Some ( "Not Implemented" ) ) ;
0 commit comments