Index: net/http/http_network_transaction.cc |
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc |
index cf67b1d68131bc18710a182cd295efa6013a5f1d..3af8a80bc2a03cee58a3297b9d69798977dfdf41 100644 |
--- a/net/http/http_network_transaction.cc |
+++ b/net/http/http_network_transaction.cc |
@@ -1012,6 +1012,14 @@ int HttpNetworkTransaction::DoReadHeadersComplete(int result) { |
= response_.headers->GetDataReductionProxyBypassEventType( |
&data_reduction_proxy_info); |
if (proxy_bypass_event < ProxyService::BYPASS_EVENT_TYPE_MAX) { |
+ // Bypass all proxies for one second on reception of a 4xx that |
+ // originated at the proxy. |
Matt Welsh
2014/05/23 23:56:30
We shouldn't be bypassing all 4xx errors. This sho
bengr
2014/05/24 01:22:02
GetDataReductionBypassEventType decides if we shou
|
+ if (proxy_bypass_event == ProxyService::CLIENT_ERROR_BYPASS) { |
+ data_reduction_proxy_info.bypass_all = true; |
+ data_reduction_proxy_info.bypass_duration = |
+ base::TimeDelta::FromSeconds(1); |
+ } |
+ |
ProxyService* proxy_service = session_->proxy_service(); |
proxy_service->RecordDataReductionProxyBypassInfo( |