Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: tools/findit/common/http_client_local.py

Issue 551433003: [Findit] Fix network timeout. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase again. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/findit/common/http_client.py ('k') | tools/findit/crash_utils.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2014 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """ 5 """
6 A http client with support for https connections with certificate verification. 6 A http client with support for https connections with certificate verification.
7 7
8 The verification is based on http://tools.ietf.org/html/rfc6125#section-6.4.3 8 The verification is based on http://tools.ietf.org/html/rfc6125#section-6.4.3
9 and the code is from Lib/ssl.py in python3: 9 and the code is from Lib/ssl.py in python3:
10 http://hg.python.org/cpython/file/4dac45f88d45/Lib/ssl.py 10 http://hg.python.org/cpython/file/4dac45f88d45/Lib/ssl.py
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 content = None 211 content = None
212 212
213 try: 213 try:
214 response = url_opener.open(url, timeout=timeout) 214 response = url_opener.open(url, timeout=timeout)
215 215
216 status_code = response.code 216 status_code = response.code
217 content = response.read() 217 content = response.read()
218 except urllib2.HTTPError as e: 218 except urllib2.HTTPError as e:
219 status_code = e.code 219 status_code = e.code
220 content = None 220 content = None
221 except (ssl.SSLError, httplib.BadStatusLine, IOError):
222 status_code = -1
223 content = None
221 224
222 return status_code, content 225 return status_code, content
223 226
224 227
225 class HttpClientLocal(http_client.HttpClient): 228 class HttpClientLocal(http_client.HttpClient):
226 """This http client is used locally in a workstation, GCE VMs, etc.""" 229 """This http client is used locally in a workstation, GCE VMs, etc."""
227 230
228 @staticmethod 231 @staticmethod
229 def Get(url, params={}, timeout=60, retries=5, retry_interval=0.5, 232 def Get(url, params={}, timeout=120, retries=5, retry_interval=0.5,
230 retry_if_not=None): 233 retry_if_not=None):
231 if params: 234 if params:
232 url = '%s?%s' % (url, urllib.urlencode(params)) 235 url = '%s?%s' % (url, urllib.urlencode(params))
233 236
234 count = 0 237 count = 0
235 while True: 238 while True:
236 count += 1 239 count += 1
237 240
238 status_code, content = _SendRequest(url, timeout=timeout) 241 status_code, content = _SendRequest(url, timeout=timeout)
239 if status_code == 200: 242 if status_code == 200:
240 return status_code, content 243 return status_code, content
241 if retry_if_not and status_code == retry_if_not: 244 if retry_if_not and status_code == retry_if_not:
242 return status_code, content 245 return status_code, content
243 246
244 if count < retries: 247 if count < retries:
245 time.sleep(retry_interval) 248 time.sleep(retry_interval)
246 else: 249 else:
247 return status_code, content 250 return status_code, content
248 251
249 # Should never be reached. 252 # Should never be reached.
250 return status_code, content 253 return status_code, content
OLDNEW
« no previous file with comments | « tools/findit/common/http_client.py ('k') | tools/findit/crash_utils.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698