summaryrefslogtreecommitdiffstats
path: root/Lib/httplib.py
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2004-09-18 09:03:49 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2004-09-18 09:03:49 (GMT)
commit39a317890fa7651e8f124c1a566af5f7a72da792 (patch)
tree4852eb7f6523a631654cf843690c962644b80688 /Lib/httplib.py
parent17cb60083c53b464a329f1a660a922db677389dd (diff)
downloadcpython-39a317890fa7651e8f124c1a566af5f7a72da792.zip
cpython-39a317890fa7651e8f124c1a566af5f7a72da792.tar.gz
cpython-39a317890fa7651e8f124c1a566af5f7a72da792.tar.bz2
Patch #1025790: Add status code constants to httplib.
Diffstat (limited to 'Lib/httplib.py')
-rw-r--r--Lib/httplib.py65
1 files changed, 62 insertions, 3 deletions
diff --git a/Lib/httplib.py b/Lib/httplib.py
index 1fb5e8a..d4fcf7c 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -93,6 +93,66 @@ _CS_IDLE = 'Idle'
_CS_REQ_STARTED = 'Request-started'
_CS_REQ_SENT = 'Request-sent'
+# status codes
+# informational
+CONTINUE = 100
+SWITCHING_PROTOCOLS = 101
+PROCESSING = 102
+
+# successful
+OK = 200
+CREATED = 201
+ACCEPTED = 202
+NON_AUTHORITATIVE_INFORMATION = 203
+NO_CONTENT = 204
+RESET_CONTENT = 205
+PARTIAL_CONTENT = 206
+MULTI_STATUS = 207
+IM_USED = 226
+
+# redirection
+MULTIPLE_CHOICES = 300
+MOVED_PERMANENTLY = 301
+FOUND = 302
+SEE_OTHER = 303
+NOT_MODIFIED = 304
+USE_PROXY = 305
+TEMPORARY_REDIRECT = 307
+
+# client error
+BAD_REQUEST = 400
+UNAUTHORIZED = 401
+PAYMENT_REQUIRED = 402
+FORBIDDEN = 403
+NOT_FOUND = 404
+METHOD_NOT_ALLOWED = 405
+NOT_ACCEPTABLE = 406
+PROXY_AUTHENTICATION_REQUIRED = 407
+REQUEST_TIMEOUT = 408
+CONFLICT = 409
+GONE = 410
+LENGTH_REQUIRED = 411
+PRECONDITION_FAILED = 412
+REQUEST_ENTITY_TOO_LARGE = 413
+REQUEST_URI_TOO_LONG = 414
+UNSUPPORTED_MEDIA_TYPE = 415
+REQUESTED_RANGE_NOT_SATISFIABLE = 416
+EXPECTATION_FAILED = 417
+UNPROCESSABLE_ENTITY = 422
+LOCKED = 423
+FAILED_DEPENDENCY = 424
+UPGRADE_REQUIRED = 426
+
+# server error
+INTERNAL_SERVER_ERROR = 500
+NOT_IMPLEMENTED = 501
+BAD_GATEWAY = 502
+SERVICE_UNAVAILABLE = 503
+GATEWAY_TIMEOUT = 504
+HTTP_VERSION_NOT_SUPPORTED = 505
+INSUFFICIENT_STORAGE = 507
+NOT_EXTENDED = 510
+
class HTTPMessage(mimetools.Message):
def addheader(self, key, value):
@@ -271,7 +331,7 @@ class HTTPResponse:
# read until we get a non-100 response
while True:
version, status, reason = self._read_status()
- if status != 100:
+ if status != CONTINUE:
break
# skip the header from the 100 response
while True:
@@ -329,8 +389,7 @@ class HTTPResponse:
self.length = None
# does the body have a fixed length? (of zero)
- if (status == 204 or # No Content
- status == 304 or # Not Modified
+ if (status == NO_CONTENT or status == NOT_MODIFIED or
100 <= status < 200 or # 1xx codes
self._method == 'HEAD'):
self.length = 0