Created
January 5, 2015 20:14
-
-
Save oiwn/4a51f2ca8c09c797ae92 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf8 | |
""" | |
Descriptive HTTP status codes, for code readability. | |
See RFC 2616 and RFC 6585. | |
RFC 2616: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html | |
RFC 6585: http://tools.ietf.org/html/rfc6585 | |
""" | |
from __future__ import unicode_literals | |
def is_informational(code): | |
return code >= 100 and code <= 199 | |
def is_success(code): | |
return code >= 200 and code <= 299 | |
def is_redirect(code): | |
return code >= 300 and code <= 399 | |
def is_client_error(code): | |
return code >= 400 and code <= 499 | |
def is_server_error(code): | |
return code >= 500 and code <= 599 | |
HTTP_100_CONTINUE = 100 | |
HTTP_101_SWITCHING_PROTOCOLS = 101 | |
HTTP_200_OK = 200 | |
HTTP_201_CREATED = 201 | |
HTTP_202_ACCEPTED = 202 | |
HTTP_203_NON_AUTHORITATIVE_INFORMATION = 203 | |
HTTP_204_NO_CONTENT = 204 | |
HTTP_205_RESET_CONTENT = 205 | |
HTTP_206_PARTIAL_CONTENT = 206 | |
HTTP_300_MULTIPLE_CHOICES = 300 | |
HTTP_301_MOVED_PERMANENTLY = 301 | |
HTTP_302_FOUND = 302 | |
HTTP_303_SEE_OTHER = 303 | |
HTTP_304_NOT_MODIFIED = 304 | |
HTTP_305_USE_PROXY = 305 | |
HTTP_306_RESERVED = 306 | |
HTTP_307_TEMPORARY_REDIRECT = 307 | |
HTTP_400_BAD_REQUEST = 400 | |
HTTP_401_UNAUTHORIZED = 401 | |
HTTP_402_PAYMENT_REQUIRED = 402 | |
HTTP_403_FORBIDDEN = 403 | |
HTTP_404_NOT_FOUND = 404 | |
HTTP_405_METHOD_NOT_ALLOWED = 405 | |
HTTP_406_NOT_ACCEPTABLE = 406 | |
HTTP_407_PROXY_AUTHENTICATION_REQUIRED = 407 | |
HTTP_408_REQUEST_TIMEOUT = 408 | |
HTTP_409_CONFLICT = 409 | |
HTTP_410_GONE = 410 | |
HTTP_411_LENGTH_REQUIRED = 411 | |
HTTP_412_PRECONDITION_FAILED = 412 | |
HTTP_413_REQUEST_ENTITY_TOO_LARGE = 413 | |
HTTP_414_REQUEST_URI_TOO_LONG = 414 | |
HTTP_415_UNSUPPORTED_MEDIA_TYPE = 415 | |
HTTP_416_REQUESTED_RANGE_NOT_SATISFIABLE = 416 | |
HTTP_417_EXPECTATION_FAILED = 417 | |
HTTP_428_PRECONDITION_REQUIRED = 428 | |
HTTP_429_TOO_MANY_REQUESTS = 429 | |
HTTP_431_REQUEST_HEADER_FIELDS_TOO_LARGE = 431 | |
HTTP_500_INTERNAL_SERVER_ERROR = 500 | |
HTTP_501_NOT_IMPLEMENTED = 501 | |
HTTP_502_BAD_GATEWAY = 502 | |
HTTP_503_SERVICE_UNAVAILABLE = 503 | |
HTTP_504_GATEWAY_TIMEOUT = 504 | |
HTTP_505_HTTP_VERSION_NOT_SUPPORTED = 505 | |
HTTP_511_NETWORK_AUTHENTICATION_REQUIRED = 511 | |
HTTP_STATUS_CODES = { | |
100: 'Continue', | |
101: 'Switching Protocols', | |
102: 'Processing', | |
200: 'OK', | |
201: 'Created', | |
202: 'Accepted', | |
203: 'Non Authoritative Information', | |
204: 'No Content', | |
205: 'Reset Content', | |
206: 'Partial Content', | |
207: 'Multi Status', | |
226: 'IM Used', # see RFC 3229 | |
300: 'Multiple Choices', | |
301: 'Moved Permanently', | |
302: 'Found', | |
303: 'See Other', | |
304: 'Not Modified', | |
305: 'Use Proxy', | |
307: 'Temporary Redirect', | |
400: 'Bad Request', | |
401: 'Unauthorized', | |
402: 'Payment Required', # unused | |
403: 'Forbidden', | |
404: 'Not Found', | |
405: 'Method Not Allowed', | |
406: 'Not Acceptable', | |
407: 'Proxy Authentication Required', | |
408: 'Request Timeout', | |
409: 'Conflict', | |
410: 'Gone', | |
411: 'Length Required', | |
412: 'Precondition Failed', | |
413: 'Request Entity Too Large', | |
414: 'Request URI Too Long', | |
415: 'Unsupported Media Type', | |
416: 'Requested Range Not Satisfiable', | |
417: 'Expectation Failed', | |
418: 'I\'m a teapot', # see RFC 2324 | |
422: 'Unprocessable Entity', | |
423: 'Locked', | |
424: 'Failed Dependency', | |
426: 'Upgrade Required', | |
428: 'Precondition Required', # see RFC 6585 | |
429: 'Too Many Requests', | |
431: 'Request Header Fields Too Large', | |
449: 'Retry With', # proprietary MS extension | |
500: 'Internal Server Error', | |
501: 'Not Implemented', | |
502: 'Bad Gateway', | |
503: 'Service Unavailable', | |
504: 'Gateway Timeout', | |
505: 'HTTP Version Not Supported', | |
507: 'Insufficient Storage', | |
510: 'Not Extended' | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment