Revision e0036155 lib/http/client.py
b/lib/http/client.py | ||
---|---|---|
45 | 45 |
|
46 | 46 |
class HttpClientRequest(object): |
47 | 47 |
def __init__(self, host, port, method, path, headers=None, post_data=None, |
48 |
ssl_params=None, ssl_verify_peer=False): |
|
48 |
ssl_params=None, ssl_verify_peer=False, read_timeout=None):
|
|
49 | 49 |
"""Describes an HTTP request. |
50 | 50 |
|
51 | 51 |
@type host: string |
... | ... | |
65 | 65 |
@type ssl_verify_peer: bool |
66 | 66 |
@param ssl_verify_peer: Whether to compare our certificate with |
67 | 67 |
server's certificate |
68 |
@type read_timeout: int |
|
69 |
@param read_timeout: if passed, it will be used as the read |
|
70 |
timeout while reading the response from the server |
|
68 | 71 |
|
69 | 72 |
""" |
70 | 73 |
if post_data is not None: |
... | ... | |
82 | 85 |
self.path = path |
83 | 86 |
self.headers = headers |
84 | 87 |
self.post_data = post_data |
88 |
self.read_timeout = read_timeout |
|
85 | 89 |
|
86 | 90 |
self.success = None |
87 | 91 |
self.error = None |
... | ... | |
315 | 319 |
""" |
316 | 320 |
response_msg = http.HttpMessage() |
317 | 321 |
|
322 |
if self.request.read_timeout is None: |
|
323 |
timeout = self.READ_TIMEOUT |
|
324 |
else: |
|
325 |
timeout = self.request.read_timeout |
|
326 |
|
|
318 | 327 |
try: |
319 | 328 |
response_msg_reader = \ |
320 |
_HttpServerToClientMessageReader(self.sock, response_msg, |
|
321 |
self.READ_TIMEOUT) |
|
329 |
_HttpServerToClientMessageReader(self.sock, response_msg, timeout) |
|
322 | 330 |
except http.HttpSocketTimeout: |
323 | 331 |
raise http.HttpError("Timeout while reading response") |
324 | 332 |
except socket.error, err: |
Also available in: Unified diff