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

Unified Diff: tools/chrome_proxy/common/chrome_proxy_metrics.py

Issue 1151753003: Integration test for Chrome-Proxy: pass-through directive (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@loFiSnackbar
Patch Set: rebase Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/chrome_proxy/integration_tests/chrome_proxy_benchmark.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/chrome_proxy/common/chrome_proxy_metrics.py
diff --git a/tools/chrome_proxy/common/chrome_proxy_metrics.py b/tools/chrome_proxy/common/chrome_proxy_metrics.py
index 46c7ed89d80d4bd32977437d73e716b5c2ee5784..3c1b7f222b3665a68f4fca2635085e05198b5a92 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 previous file with comments | « no previous file | tools/chrome_proxy/integration_tests/chrome_proxy_benchmark.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698