Revision 1696
Added by Aaron Marcuse-Kubitza almost 13 years ago
lib/http.py | ||
---|---|---|
1 |
# HTTP |
|
2 |
|
|
3 |
import httplib |
|
4 |
|
|
5 |
import exc |
|
6 |
|
|
7 |
class ConnectionDroppedError(exc.ExceptionWithCause): pass |
|
8 |
|
|
9 |
##### httplib modifications |
|
10 |
|
|
11 |
__HTTPResponse_read_orig = httplib.HTTPResponse.read |
|
12 |
def __HTTPResponse_read(*args, **kw_args): |
|
13 |
try: return __HTTPResponse_read_orig(*args, **kw_args) |
|
14 |
# If the connection is dropped mid-chunk in chunked transfer encoding, raise |
|
15 |
# a ConnectionDroppedError to clarify why the IncompleteRead occurred |
|
16 |
except httplib.IncompleteRead, e: raise ConnectionDroppedError(e) |
|
17 |
httplib.HTTPResponse.read = __HTTPResponse_read |
Also available in: Unified diff
Added http.py with httplib modifications to deal with IncompleteRead errors