]> granicus.if.org Git - python/commitdiff
Fix httplib for removal of slicing from exceptions.
authorBrett Cannon <bcannon@gmail.com>
Tue, 27 Feb 2007 20:16:38 +0000 (20:16 +0000)
committerBrett Cannon <bcannon@gmail.com>
Tue, 27 Feb 2007 20:16:38 +0000 (20:16 +0000)
Lib/httplib.py

index 016144c39e20740af3056911afb13be752c61d79..32889cc6791c93c0415556a30d251a93e0b9652f 100644 (file)
@@ -870,7 +870,7 @@ class HTTPConnection:
             self._send_request(method, url, body, headers)
         except socket.error as v:
             # trap 'Broken pipe' if we're allowed to automatically reconnect
-            if v[0] != 32 or not self.auto_open:
+            if v.message != 32 or not self.auto_open:
                 raise
             # try one more time
             self._send_request(method, url, body, headers)
@@ -1020,17 +1020,19 @@ class SSLFile(SharedSocketClient):
             try:
                 buf = self._ssl.read(self._bufsize)
             except socket.sslerror as err:
-                if (err[0] == socket.SSL_ERROR_WANT_READ
-                    or err[0] == socket.SSL_ERROR_WANT_WRITE):
+                err_type = err.message
+                if (err_type == socket.SSL_ERROR_WANT_READ
+                    or err_type == socket.SSL_ERROR_WANT_WRITE):
                     continue
-                if (err[0] == socket.SSL_ERROR_ZERO_RETURN
-                    or err[0] == socket.SSL_ERROR_EOF):
+                if (err_type == socket.SSL_ERROR_ZERO_RETURN
+                    or err_type == socket.SSL_ERROR_EOF):
                     break
                 raise
             except socket.error as err:
-                if err[0] == errno.EINTR:
+                err_type = err.message
+                if err_type == errno.EINTR:
                     continue
-                if err[0] == errno.EBADF:
+                if err_type == errno.EBADF:
                     # XXX socket was closed?
                     break
                 raise