summaryrefslogtreecommitdiffstats
path: root/tools/chrome_proxy/common
diff options
context:
space:
mode:
authormegjablon <megjablon@chromium.org>2015-05-21 16:46:01 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-21 23:46:37 +0000
commit91e5715acfa6cac439f98438f1bedade3d863b9a (patch)
treeffcd3154383a9028c1adf93f48efa6934363e601 /tools/chrome_proxy/common
parent480e30a0792eb967da878dd15cd9ba395345fecb (diff)
downloadchromium_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.py35
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