Kaydet (Commit) 5c5fe2f4 authored tarafından Georg Brandl's avatar Georg Brandl

RFE [ 1216944 ] Add Error Code Dictionary to urllib2

üst c1f5fff2
......@@ -71,6 +71,15 @@ 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}
......
......@@ -40,6 +40,10 @@ class TrivialTests(unittest.TestCase):
buf = f.read()
f.close()
def test_statudict(self):
# test the new-in-2.5 httpresponses dictionary
self.assertEquals(urllib2.httpresponses[404], "Not Found")
class MockOpener:
......
......@@ -1293,3 +1293,52 @@ class OpenerFactory:
if inspect.isclass(ph):
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',
}
......@@ -168,6 +168,9 @@ Extension Modules
Library
-------
- urllib2 has now an attribute 'httpresponses' mapping from HTTP status code
to W3C name (404 -> 'Not Found'). RFE #1216944.
- Bug #1177468: Don't cache the /dev/urandom file descriptor for os.urandom,
as this can cause problems with apps closing all file descriptors.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment