diff options
author | Georg Brandl <georg@python.org> | 2006-02-17 19:17:25 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2006-02-17 19:17:25 (GMT) |
commit | 6aab16e9f6df06ab68f24422dcc50579f500c0b7 (patch) | |
tree | 923ad5c91ac916fbd6c5894ae863ea4f8cec48e0 | |
parent | dde99d2633d7d744730d4464521e936bf1b6b411 (diff) | |
download | cpython-6aab16e9f6df06ab68f24422dcc50579f500c0b7.zip cpython-6aab16e9f6df06ab68f24422dcc50579f500c0b7.tar.gz cpython-6aab16e9f6df06ab68f24422dcc50579f500c0b7.tar.bz2 |
Move "httpresponses" dict from urllib2 to httplib where it belongs.
-rw-r--r-- | Doc/lib/libhttplib.tex | 8 | ||||
-rw-r--r-- | Doc/lib/liburllib2.tex | 9 | ||||
-rw-r--r-- | Lib/BaseHTTPServer.py | 20 | ||||
-rw-r--r-- | Lib/httplib.py | 51 | ||||
-rw-r--r-- | Lib/urllib2.py | 49 |
5 files changed, 69 insertions, 68 deletions
diff --git a/Doc/lib/libhttplib.tex b/Doc/lib/libhttplib.tex index 8f02368..049f6c4 100644 --- a/Doc/lib/libhttplib.tex +++ b/Doc/lib/libhttplib.tex @@ -288,6 +288,14 @@ and also the following constants for integer status codes: {An HTTP Extension Framework, \rfc{2774}, Section 7} \end{tableiii} +\begin{datadesc}{responses} +This dictionary maps the HTTP 1.1 status codes to the W3C names. + +Example: \code{httplib.responses[httplib.NOT_FOUND]} is \code{'Not Found'}. +\versionadded{2.5} +\end{datadesc} + + \subsection{HTTPConnection Objects \label{httpconnection-objects}} \class{HTTPConnection} instances have the following methods: diff --git a/Doc/lib/liburllib2.tex b/Doc/lib/liburllib2.tex index 842b2a3..706c54b 100644 --- a/Doc/lib/liburllib2.tex +++ b/Doc/lib/liburllib2.tex @@ -71,15 +71,6 @@ set to \code{500}. \end{funcdesc} -The following attribute is defined: - -\begin{datadesc}{httpresponses} -A mapping between HTTP status codes and the W3C names. - -Example: \code{urllib2.httpresponses[404]} is \code{'Not Found'}. -\versionadded{2.5} -\end{datadesc} - The following exceptions are raised as appropriate: \begin{excdesc}{URLError} diff --git a/Lib/BaseHTTPServer.py b/Lib/BaseHTTPServer.py index 1b3d4db..a041ef2 100644 --- a/Lib/BaseHTTPServer.py +++ b/Lib/BaseHTTPServer.py @@ -483,7 +483,7 @@ class BaseHTTPRequestHandler(SocketServer.StreamRequestHandler): # Table mapping response codes to messages; entries have the # form {code: (shortmessage, longmessage)}. - # See http://www.w3.org/hypertext/WWW/Protocols/HTTP/HTRESP.html + # See RFC 2616. responses = { 100: ('Continue', 'Request received, please continue'), 101: ('Switching Protocols', @@ -494,7 +494,7 @@ class BaseHTTPRequestHandler(SocketServer.StreamRequestHandler): 202: ('Accepted', 'Request accepted, processing continues off-line'), 203: ('Non-Authoritative Information', 'Request fulfilled from cache'), - 204: ('No response', 'Request fulfilled, nothing follows'), + 204: ('No Content', 'Request fulfilled, nothing follows'), 205: ('Reset Content', 'Clear input form for further input.'), 206: ('Partial Content', 'Partial content follows.'), @@ -503,7 +503,7 @@ class BaseHTTPRequestHandler(SocketServer.StreamRequestHandler): 301: ('Moved Permanently', 'Object moved permanently -- see URI list'), 302: ('Found', 'Object moved temporarily -- see URI list'), 303: ('See Other', 'Object moved -- see Method and URL list'), - 304: ('Not modified', + 304: ('Not Modified', 'Document has not changed since given time'), 305: ('Use Proxy', 'You must use proxy specified in Location to access this ' @@ -511,11 +511,11 @@ class BaseHTTPRequestHandler(SocketServer.StreamRequestHandler): 307: ('Temporary Redirect', 'Object moved temporarily -- see URI list'), - 400: ('Bad request', + 400: ('Bad Request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), - 402: ('Payment required', + 402: ('Payment Required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), @@ -525,7 +525,7 @@ class BaseHTTPRequestHandler(SocketServer.StreamRequestHandler): 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with ' 'this proxy before proceeding.'), - 408: ('Request Time-out', 'Request timed out; try again later.'), + 408: ('Request Timeout', 'Request timed out; try again later.'), 409: ('Conflict', 'Request conflict.'), 410: ('Gone', 'URI no longer exists and has been permanently removed.'), @@ -539,15 +539,15 @@ class BaseHTTPRequestHandler(SocketServer.StreamRequestHandler): 417: ('Expectation Failed', 'Expect condition could not be satisfied.'), - 500: ('Internal error', 'Server got itself in trouble'), + 500: ('Internal Server Error', 'Server got itself in trouble'), 501: ('Not Implemented', 'Server does not support this operation'), 502: ('Bad Gateway', 'Invalid responses from another server/proxy.'), - 503: ('Service temporarily overloaded', + 503: ('Service Unavailable', 'The server cannot process the request due to a high load'), - 504: ('Gateway timeout', + 504: ('Gateway Timeout', 'The gateway server did not receive a timely response'), - 505: ('HTTP Version not supported', 'Cannot fulfill request.'), + 505: ('HTTP Version Not Supported', 'Cannot fulfill request.'), } diff --git a/Lib/httplib.py b/Lib/httplib.py index 5c82edd..b4bd536 100644 --- a/Lib/httplib.py +++ b/Lib/httplib.py @@ -81,7 +81,7 @@ __all__ = ["HTTP", "HTTPResponse", "HTTPConnection", "HTTPSConnection", "UnknownTransferEncoding", "UnimplementedFileMode", "IncompleteRead", "InvalidURL", "ImproperConnectionState", "CannotSendRequest", "CannotSendHeader", "ResponseNotReady", - "BadStatusLine", "error"] + "BadStatusLine", "error", "responses"] HTTP_PORT = 80 HTTPS_PORT = 443 @@ -153,6 +153,55 @@ HTTP_VERSION_NOT_SUPPORTED = 505 INSUFFICIENT_STORAGE = 507 NOT_EXTENDED = 510 +# Mapping status codes to official W3C names +responses = { + 100: 'Continue', + 101: 'Switching Protocols', + + 200: 'OK', + 201: 'Created', + 202: 'Accepted', + 203: 'Non-Authoritative Information', + 204: 'No Content', + 205: 'Reset Content', + 206: 'Partial Content', + + 300: 'Multiple Choices', + 301: 'Moved Permanently', + 302: 'Found', + 303: 'See Other', + 304: 'Not Modified', + 305: 'Use Proxy', + 306: '(Unused)', + 307: 'Temporary Redirect', + + 400: 'Bad Request', + 401: 'Unauthorized', + 402: 'Payment Required', + 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', + + 500: 'Internal Server Error', + 501: 'Not Implemented', + 502: 'Bad Gateway', + 503: 'Service Unavailable', + 504: 'Gateway Timeout', + 505: 'HTTP Version Not Supported', +} + # maximal amount of data to read at one time in _safe_read MAXAMOUNT = 1048576 diff --git a/Lib/urllib2.py b/Lib/urllib2.py index ba0d5b5..34d99fc 100644 --- a/Lib/urllib2.py +++ b/Lib/urllib2.py @@ -1296,51 +1296,4 @@ class OpenerFactory: ph = ph() opener.add_handler(ph) -# Mapping status codes to official W3C names -httpresponses = { - 100: 'Continue', - 101: 'Switching Protocols', - - 200: 'OK', - 201: 'Created', - 202: 'Accepted', - 203: 'Non-Authoritative Information', - 204: 'No Content', - 205: 'Reset Content', - 206: 'Partial Content', - - 300: 'Multiple Choices', - 301: 'Moved Permanently', - 302: 'Found', - 303: 'See Other', - 304: 'Not Modified', - 305: 'Use Proxy', - 306: '(Unused)', - 307: 'Temporary Redirect', - - 400: 'Bad Request', - 401: 'Unauthorized', - 402: 'Payment Required', - 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', - - 500: 'Internal Server Error', - 501: 'Not Implemented', - 502: 'Bad Gateway', - 503: 'Service Unavailable', - 504: 'Gateway Timeout', - 505: 'HTTP Version Not Supported', -} + |