Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol.cc |
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol.cc |
index b5212813b1f4389272ccb0cf4b5725b897ed7baf..2964bfa3093553a2a08ec5cb45256694ed3b0657 100644 |
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol.cc |
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_protocol.cc |
@@ -44,7 +44,6 @@ bool MaybeBypassProxyAndPrepareToRetry( |
const DataReductionProxyParams* data_reduction_proxy_params, |
net::URLRequest* request, |
const net::HttpResponseHeaders* original_response_headers, |
- scoped_refptr<net::HttpResponseHeaders>* override_response_headers, |
DataReductionProxyBypassType* proxy_bypass_type) { |
if (!data_reduction_proxy_params) |
return false; |
@@ -125,15 +124,15 @@ bool MaybeBypassProxyAndPrepareToRetry( |
data_reduction_proxy_info.bypass_duration, |
data_reduction_proxy_info.bypass_all, |
data_reduction_proxy_type_info.proxy_servers); |
+ } else { |
+ request->SetLoadFlags(request->load_flags() | |
+ net::LOAD_DISABLE_CACHE | |
+ net::LOAD_BYPASS_PROXY); |
} |
// Only retry idempotent methods. |
if (!IsRequestIdempotent(request)) |
return false; |
- |
- OverrideResponseAsRedirect(request, |
- original_response_headers, |
- override_response_headers); |
return true; |
} |
@@ -175,40 +174,6 @@ bool IsRequestIdempotent(const net::URLRequest* request) { |
return false; |
} |
-void OverrideResponseAsRedirect( |
- net::URLRequest* request, |
- const net::HttpResponseHeaders* original_response_headers, |
- scoped_refptr<net::HttpResponseHeaders>* override_response_headers) { |
- DCHECK(request); |
- DCHECK(original_response_headers); |
- DCHECK(override_response_headers->get() == NULL); |
- |
- request->SetLoadFlags(request->load_flags() | |
- net::LOAD_DISABLE_CACHE | |
- net::LOAD_BYPASS_PROXY); |
- *override_response_headers = new net::HttpResponseHeaders( |
- original_response_headers->raw_headers()); |
- (*override_response_headers)->ReplaceStatusLine("HTTP/1.1 302 Found"); |
- (*override_response_headers)->RemoveHeader("Location"); |
- (*override_response_headers)->AddHeader("Location: " + |
- request->url().spec()); |
- std::string http_origin; |
- const net::HttpRequestHeaders& request_headers = |
- request->extra_request_headers(); |
- if (request_headers.GetHeader("Origin", &http_origin)) { |
- // If this redirect is used in a cross-origin request, add CORS headers to |
- // make sure that the redirect gets through. Note that the destination URL |
- // is still subject to the usual CORS policy, i.e. the resource will only |
- // be available to web pages if the server serves the response with the |
- // required CORS response headers. |
- (*override_response_headers)->AddHeader( |
- "Access-Control-Allow-Origin: " + http_origin); |
- (*override_response_headers)->AddHeader( |
- "Access-Control-Allow-Credentials: true"); |
- } |
- // TODO(bengr): Should we pop_back the request->url_chain? |
-} |
- |
void MarkProxiesAsBadUntil( |
net::URLRequest* request, |
base::TimeDelta& bypass_duration, |