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