diff options
author | megjablon <megjablon@chromium.org> | 2015-05-21 16:46:01 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-21 23:46:37 +0000 |
commit | 91e5715acfa6cac439f98438f1bedade3d863b9a (patch) | |
tree | ffcd3154383a9028c1adf93f48efa6934363e601 /tools/chrome_proxy/common | |
parent | 480e30a0792eb967da878dd15cd9ba395345fecb (diff) | |
download | chromium_src-91e5715acfa6cac439f98438f1bedade3d863b9a.zip chromium_src-91e5715acfa6cac439f98438f1bedade3d863b9a.tar.gz chromium_src-91e5715acfa6cac439f98438f1bedade3d863b9a.tar.bz2 |
Integration test for Chrome-Proxy: pass-through directive
Checks that an image loaded with the Chrome-Proxy: pass-through directive
is larger than the compressed image from the Data Reduction Proxy.
BUG=490397
Review URL: https://codereview.chromium.org/1151753003
Cr-Commit-Position: refs/heads/master@{#331028}
Diffstat (limited to 'tools/chrome_proxy/common')
-rw-r--r-- | tools/chrome_proxy/common/chrome_proxy_metrics.py | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/tools/chrome_proxy/common/chrome_proxy_metrics.py b/tools/chrome_proxy/common/chrome_proxy_metrics.py index 46c7ed8..3c1b7f2 100644 --- a/tools/chrome_proxy/common/chrome_proxy_metrics.py +++ b/tools/chrome_proxy/common/chrome_proxy_metrics.py @@ -38,6 +38,20 @@ class ChromeProxyResponse(network_metrics.HTTPResponse): return False return True + def HasResponseHeader(self, key, value): + response_header = self.response.GetHeader(key) + if not response_header: + return False + values = [v.strip() for v in response_header.split(',')] + return any(v == value for v in values) + + def HasRequestHeader(self, key, value): + if key not in self.response.request_headers: + return False + request_header = self.response.request_headers[key] + values = [v.strip() for v in request_header.split(',')] + return any(v == value for v in values) + def HasChromeProxyViaHeader(self): via_header = self.response.GetHeader('Via') if not via_header: @@ -48,11 +62,7 @@ class ChromeProxyResponse(network_metrics.HTTPResponse): return any(v[4:] == CHROME_PROXY_VIA_HEADER for v in vias) def HasExtraViaHeader(self, extra_header): - via_header = self.response.GetHeader('Via') - if not via_header: - return False - vias = [v.strip(' ') for v in via_header.split(',')] - return any(v == extra_header for v in vias) + return self.HasResponseHeader('Via', extra_header) def IsValidByViaHeader(self): return (not self.ShouldHaveChromeProxyViaHeader() or @@ -79,15 +89,10 @@ class ChromeProxyResponse(network_metrics.HTTPResponse): return None def HasChromeProxyLoFiRequest(self): - if 'Chrome-Proxy' not in self.response.request_headers: - return False - chrome_proxy_request_header = self.response.request_headers['Chrome-Proxy'] - values = [v.strip() for v in chrome_proxy_request_header.split(',')] - return any(v == "q=low" for v in values) + return self.HasRequestHeader('Chrome-Proxy', "q=low") def HasChromeProxyLoFiResponse(self): - chrome_proxy_response_header = self.response.GetHeader('Chrome-Proxy') - if not chrome_proxy_response_header: - return False - values = [v.strip() for v in chrome_proxy_response_header.split(',')] - return any(v == "q=low" for v in values) + return self.HasResponseHeader('Chrome-Proxy', "q=low") + + def HasChromeProxyPassThroughRequest(self): + return self.HasRequestHeader('Chrome-Proxy', "pass-through")
\ No newline at end of file |