def testChromeProxyResponse(self): # An https non-proxy response. resp = metrics.ChromeProxyResponse( network_unittest.NetworkMetricTest.MakeNetworkTimelineEvent( url='https://test.url', response_headers={ 'Content-Type': 'text/html', 'Content-Length': str(len(network_unittest.HTML_BODY)), 'Via': 'some other via', }, body=network_unittest.HTML_BODY)) self.assertFalse(resp.ShouldHaveChromeProxyViaHeader()) self.assertFalse(resp.HasChromeProxyViaHeader()) self.assertTrue(resp.IsValidByViaHeader()) # A proxied JPEG image response resp = metrics.ChromeProxyResponse( network_unittest.NetworkMetricTest.MakeNetworkTimelineEvent( url='http://test.image', response_headers={ 'Content-Type': 'image/jpeg', 'Content-Encoding': 'gzip', 'Via': '1.1 ' + metrics.CHROME_PROXY_VIA_HEADER, 'X-Original-Content-Length': str(network_unittest.IMAGE_OCL), }, body=base64.b64encode(network_unittest.IMAGE_BODY), base64_encoded_body=True)) self.assertTrue(resp.ShouldHaveChromeProxyViaHeader()) self.assertTrue(resp.HasChromeProxyViaHeader()) self.assertTrue(resp.IsValidByViaHeader())
def ResponseFromEvent(self, event): return chrome_proxy_metrics.ChromeProxyResponse(event)