status.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. """
  2. Descriptive HTTP status codes, for code readability.
  3. See RFC 2616 - https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
  4. And RFC 6585 - https://tools.ietf.org/html/rfc6585
  5. And RFC 4918 - https://tools.ietf.org/html/rfc4918
  6. """
  7. def is_informational(code):
  8. return 100 <= code <= 199
  9. def is_success(code):
  10. return 200 <= code <= 299
  11. def is_redirect(code):
  12. return 300 <= code <= 399
  13. def is_client_error(code):
  14. return 400 <= code <= 499
  15. def is_server_error(code):
  16. return 500 <= code <= 599
  17. HTTP_100_CONTINUE = 100
  18. HTTP_101_SWITCHING_PROTOCOLS = 101
  19. HTTP_102_PROCESSING = 102
  20. HTTP_103_EARLY_HINTS = 103
  21. HTTP_200_OK = 200
  22. HTTP_201_CREATED = 201
  23. HTTP_202_ACCEPTED = 202
  24. HTTP_203_NON_AUTHORITATIVE_INFORMATION = 203
  25. HTTP_204_NO_CONTENT = 204
  26. HTTP_205_RESET_CONTENT = 205
  27. HTTP_206_PARTIAL_CONTENT = 206
  28. HTTP_207_MULTI_STATUS = 207
  29. HTTP_208_ALREADY_REPORTED = 208
  30. HTTP_226_IM_USED = 226
  31. HTTP_300_MULTIPLE_CHOICES = 300
  32. HTTP_301_MOVED_PERMANENTLY = 301
  33. HTTP_302_FOUND = 302
  34. HTTP_303_SEE_OTHER = 303
  35. HTTP_304_NOT_MODIFIED = 304
  36. HTTP_305_USE_PROXY = 305
  37. HTTP_306_RESERVED = 306
  38. HTTP_307_TEMPORARY_REDIRECT = 307
  39. HTTP_308_PERMANENT_REDIRECT = 308
  40. HTTP_400_BAD_REQUEST = 400
  41. HTTP_401_UNAUTHORIZED = 401
  42. HTTP_402_PAYMENT_REQUIRED = 402
  43. HTTP_403_FORBIDDEN = 403
  44. HTTP_404_NOT_FOUND = 404
  45. HTTP_405_METHOD_NOT_ALLOWED = 405
  46. HTTP_406_NOT_ACCEPTABLE = 406
  47. HTTP_407_PROXY_AUTHENTICATION_REQUIRED = 407
  48. HTTP_408_REQUEST_TIMEOUT = 408
  49. HTTP_409_CONFLICT = 409
  50. HTTP_410_GONE = 410
  51. HTTP_411_LENGTH_REQUIRED = 411
  52. HTTP_412_PRECONDITION_FAILED = 412
  53. HTTP_413_REQUEST_ENTITY_TOO_LARGE = 413
  54. HTTP_414_REQUEST_URI_TOO_LONG = 414
  55. HTTP_415_UNSUPPORTED_MEDIA_TYPE = 415
  56. HTTP_416_REQUESTED_RANGE_NOT_SATISFIABLE = 416
  57. HTTP_417_EXPECTATION_FAILED = 417
  58. HTTP_418_IM_A_TEAPOT = 418
  59. HTTP_421_MISDIRECTED_REQUEST = 421
  60. HTTP_422_UNPROCESSABLE_ENTITY = 422
  61. HTTP_423_LOCKED = 423
  62. HTTP_424_FAILED_DEPENDENCY = 424
  63. HTTP_425_TOO_EARLY = 425
  64. HTTP_426_UPGRADE_REQUIRED = 426
  65. HTTP_428_PRECONDITION_REQUIRED = 428
  66. HTTP_429_TOO_MANY_REQUESTS = 429
  67. HTTP_431_REQUEST_HEADER_FIELDS_TOO_LARGE = 431
  68. HTTP_451_UNAVAILABLE_FOR_LEGAL_REASONS = 451
  69. HTTP_500_INTERNAL_SERVER_ERROR = 500
  70. HTTP_501_NOT_IMPLEMENTED = 501
  71. HTTP_502_BAD_GATEWAY = 502
  72. HTTP_503_SERVICE_UNAVAILABLE = 503
  73. HTTP_504_GATEWAY_TIMEOUT = 504
  74. HTTP_505_HTTP_VERSION_NOT_SUPPORTED = 505
  75. HTTP_506_VARIANT_ALSO_NEGOTIATES = 506
  76. HTTP_507_INSUFFICIENT_STORAGE = 507
  77. HTTP_508_LOOP_DETECTED = 508
  78. HTTP_509_BANDWIDTH_LIMIT_EXCEEDED = 509
  79. HTTP_510_NOT_EXTENDED = 510
  80. HTTP_511_NETWORK_AUTHENTICATION_REQUIRED = 511