Aggregate response codes by their category

This commit is contained in:
Vyacheslav Maltsev 2023-08-16 16:59:59 +03:00
parent 9e05aa5962
commit f28bc2c1bc
2 changed files with 89 additions and 0 deletions

View File

@ -123,6 +123,16 @@ Response status codes beginning with the digit "5" indicate cases in which the s
HTTP_510_NOT_EXTENDED
HTTP_511_NETWORK_AUTHENTICATION_REQUIRED
## Aggregated responses by code
REST framework offers response codes grouped together by their category.
INFORMATIONAL # 1xx
SUCCESS # 2xx
REDIRECT # 3xx
CLIENT_ERROR # 4xx
SERVER_ERROR # 5xx
## Helper functions
The following helper functions are available for identifying the category of the response code.

View File

@ -91,3 +91,82 @@ HTTP_508_LOOP_DETECTED = 508
HTTP_509_BANDWIDTH_LIMIT_EXCEEDED = 509
HTTP_510_NOT_EXTENDED = 510
HTTP_511_NETWORK_AUTHENTICATION_REQUIRED = 511
INFORMATIONAL = (
HTTP_100_CONTINUE,
HTTP_101_SWITCHING_PROTOCOLS,
HTTP_102_PROCESSING,
HTTP_103_EARLY_HINTS,
)
SUCCESS = (
HTTP_200_OK,
HTTP_201_CREATED,
HTTP_202_ACCEPTED,
HTTP_203_NON_AUTHORITATIVE_INFORMATION,
HTTP_204_NO_CONTENT,
HTTP_205_RESET_CONTENT,
HTTP_206_PARTIAL_CONTENT,
HTTP_207_MULTI_STATUS,
HTTP_208_ALREADY_REPORTED,
HTTP_226_IM_USED,
)
REDIRECT = (
HTTP_300_MULTIPLE_CHOICES,
HTTP_301_MOVED_PERMANENTLY,
HTTP_302_FOUND,
HTTP_303_SEE_OTHER,
HTTP_304_NOT_MODIFIED,
HTTP_305_USE_PROXY,
HTTP_306_RESERVED,
HTTP_307_TEMPORARY_REDIRECT,
HTTP_308_PERMANENT_REDIRECT,
)
CLIENT_ERROR = (
HTTP_400_BAD_REQUEST,
HTTP_401_UNAUTHORIZED,
HTTP_402_PAYMENT_REQUIRED,
HTTP_403_FORBIDDEN,
HTTP_404_NOT_FOUND,
HTTP_405_METHOD_NOT_ALLOWED,
HTTP_406_NOT_ACCEPTABLE,
HTTP_407_PROXY_AUTHENTICATION_REQUIRED,
HTTP_408_REQUEST_TIMEOUT,
HTTP_409_CONFLICT,
HTTP_410_GONE,
HTTP_411_LENGTH_REQUIRED,
HTTP_412_PRECONDITION_FAILED,
HTTP_413_REQUEST_ENTITY_TOO_LARGE,
HTTP_414_REQUEST_URI_TOO_LONG,
HTTP_415_UNSUPPORTED_MEDIA_TYPE,
HTTP_416_REQUESTED_RANGE_NOT_SATISFIABLE,
HTTP_417_EXPECTATION_FAILED,
HTTP_418_IM_A_TEAPOT,
HTTP_421_MISDIRECTED_REQUEST,
HTTP_422_UNPROCESSABLE_ENTITY,
HTTP_423_LOCKED,
HTTP_424_FAILED_DEPENDENCY,
HTTP_425_TOO_EARLY,
HTTP_426_UPGRADE_REQUIRED,
HTTP_428_PRECONDITION_REQUIRED,
HTTP_429_TOO_MANY_REQUESTS,
HTTP_431_REQUEST_HEADER_FIELDS_TOO_LARGE,
HTTP_451_UNAVAILABLE_FOR_LEGAL_REASONS,
)
SERVER_ERROR = (
HTTP_500_INTERNAL_SERVER_ERROR,
HTTP_501_NOT_IMPLEMENTED,
HTTP_502_BAD_GATEWAY,
HTTP_503_SERVICE_UNAVAILABLE,
HTTP_504_GATEWAY_TIMEOUT,
HTTP_505_HTTP_VERSION_NOT_SUPPORTED,
HTTP_506_VARIANT_ALSO_NEGOTIATES,
HTTP_507_INSUFFICIENT_STORAGE,
HTTP_508_LOOP_DETECTED,
HTTP_509_BANDWIDTH_LIMIT_EXCEEDED,
HTTP_510_NOT_EXTENDED,
HTTP_511_NETWORK_AUTHENTICATION_REQUIRED,
)