Chromium Code Reviews| Index: tools/android/loading/request_track.py |
| diff --git a/tools/android/loading/request_track.py b/tools/android/loading/request_track.py |
| index 454cbe0718a54aaede442e21ffe629f18116e3be..01371b855f2ae66f0b9a566f878b32c02371cfc6 100644 |
| --- a/tools/android/loading/request_track.py |
| +++ b/tools/android/loading/request_track.py |
| @@ -341,7 +341,7 @@ class Request(object): |
| directives = [s.strip() for s in cache_control_str.split(',')] |
| for directive in directives: |
| parts = directive.split('=') |
| - if len(parts) == 1: |
| + if len(parts) != 2: |
|
pasko
2016/07/11 11:26:50
was it an empty directive or more than one '='? Is
gabadie
2016/07/11 12:14:35
I had a Cache-Control: max-age=stuff1 max-age=stuf
|
| continue |
| (name, value) = parts |
| if name == directive_name: |
| @@ -385,10 +385,16 @@ class Request(object): |
| net::HttpResponseHeaders's constructor. |
| """ |
| assert not self.IsDataRequest() |
| + assert self.HasReceivedResponse() |
| headers = '{} {} {}\x00'.format( |
| self.protocol.upper(), self.status, self.status_text) |
| for key in sorted(self.response_headers.keys()): |
| - headers += '{}: {}\x00'.format(key, self.response_headers[key]) |
| + try: |
| + headers += '{}: {}\x00'.format( |
|
pasko
2016/07/11 11:26:50
response headers do not have to be valid unicode,
gabadie
2016/07/11 12:14:35
Good point. Done.
|
| + str(key), str(self.response_headers[key])) |
| + except UnicodeEncodeError: |
| + logging.exception('failure when encoding one of the following: %s, %s', |
| + repr(key), repr(self.response_headers[key])) |
| return headers |
| def __eq__(self, o): |