ports/net-p2p/py-bittorrent-devel/files/patch-BitTorrent::zurllib.py
Mario Sergio Fujikawa Ferreira dc9079bdf7 o Add a missing exception handler around httplib requests
o Bump PORTREVISION

Approved by:	portmgr (krion)
Obtained from:	John Hoffman BitTornado Developer <theshadow@degreez.net>
2005-01-06 18:33:11 +00:00

45 lines
1.4 KiB
Python

--- BitTorrent/zurllib.py.orig Wed Jan 5 20:41:27 2005
+++ BitTorrent/zurllib.py Wed Jan 5 20:41:50 2005
@@ -10,7 +10,7 @@
# Written by John Hoffman
-from httplib import HTTPConnection
+from httplib import HTTPConnection, HTTPException
from urlparse import urlparse
import socket
from gzip import GzipFile
@@ -20,6 +20,15 @@
MAX_REDIRECTS = 10
+class btHTTPcon(HTTPConnection): # attempt to add automatic connection timeout
+ def connect(self):
+ HTTPConnection.connect(self)
+ try:
+ self.sock.settimeout(30)
+ except:
+ pass
+
+
class urlopen:
def __init__(self, url):
self.tries = 0
@@ -39,11 +48,14 @@
if query:
url += '?'+query
# if fragment:
- self.connection = HTTPConnection(netloc)
- self.connection.request('GET', url, None,
+ try:
+ self.connection = btHTTPcon(netloc)
+ self.connection.request('GET', url, None,
{ 'User-Agent': 'BitTorrent/' + version,
'Accept-Encoding': 'gzip' } )
- self.response = self.connection.getresponse()
+ self.response = self.connection.getresponse()
+ except HTTPException, e:
+ raise IOError, ('http error', str(e))
status = self.response.status
if status in (301,302):
try: