| OLD | NEW |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 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 import collections | 5 import collections |
| 6 import copy | 6 import copy |
| 7 import json | 7 import json |
| 8 import logging | 8 import logging |
| 9 import os | 9 import os |
| 10 import re | 10 import re |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 request_bytes = len(body) | 192 request_bytes = len(body) |
| 193 http_metrics.request_bytes.add(request_bytes, fields=self.fields) | 193 http_metrics.request_bytes.add(request_bytes, fields=self.fields) |
| 194 | 194 |
| 195 start_time = self.time_fn() | 195 start_time = self.time_fn() |
| 196 try: | 196 try: |
| 197 response, content = super(InstrumentedHttp, self).request( | 197 response, content = super(InstrumentedHttp, self).request( |
| 198 uri, method, body, *args, **kwargs) | 198 uri, method, body, *args, **kwargs) |
| 199 except socket.timeout: | 199 except socket.timeout: |
| 200 self._update_metrics(http_metrics.STATUS_TIMEOUT, start_time) | 200 self._update_metrics(http_metrics.STATUS_TIMEOUT, start_time) |
| 201 raise | 201 raise |
| 202 except socket.error: | 202 except (socket.error, socket.herror, socket.gaierror): |
| 203 self._update_metrics(http_metrics.STATUS_ERROR, start_time) | 203 self._update_metrics(http_metrics.STATUS_ERROR, start_time) |
| 204 raise | 204 raise |
| 205 except httplib2.HttpLib2Error: | 205 except httplib2.HttpLib2Error: |
| 206 self._update_metrics(http_metrics.STATUS_EXCEPTION, start_time) | 206 self._update_metrics(http_metrics.STATUS_EXCEPTION, start_time) |
| 207 raise | 207 raise |
| 208 http_metrics.response_bytes.add(len(content), fields=self.fields) | 208 http_metrics.response_bytes.add(len(content), fields=self.fields) |
| 209 | 209 |
| 210 self._update_metrics(response.status, start_time) | 210 self._update_metrics(response.status, start_time) |
| 211 | 211 |
| 212 return response, content | 212 return response, content |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 self.requests_made.append(self.HttpCall(uri, method, body, headers)) | 257 self.requests_made.append(self.HttpCall(uri, method, body, headers)) |
| 258 headers = None | 258 headers = None |
| 259 body = None | 259 body = None |
| 260 for candidate in self._uris: | 260 for candidate in self._uris: |
| 261 if candidate[0].match(uri): | 261 if candidate[0].match(uri): |
| 262 _, headers, body = candidate | 262 _, headers, body = candidate |
| 263 break | 263 break |
| 264 if not headers: | 264 if not headers: |
| 265 raise AssertionError("Unexpected request to %s" % uri) | 265 raise AssertionError("Unexpected request to %s" % uri) |
| 266 return httplib2.Response(headers), body | 266 return httplib2.Response(headers), body |
| OLD | NEW |