| Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc
|
| diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc
|
| index d491cc89548e632f2a10a77ca65bd92aeb74358c..73091223bef1c5c544c766d8d3d2d81689c8477a 100644
|
| --- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc
|
| +++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc
|
| @@ -40,25 +40,27 @@ DataReductionProxyDelegate::DataReductionProxyDelegate(
|
| DCHECK(event_creator);
|
| DCHECK(bypass_stats);
|
| DCHECK(net_log);
|
| }
|
|
|
| DataReductionProxyDelegate::~DataReductionProxyDelegate() {
|
| }
|
|
|
| void DataReductionProxyDelegate::OnResolveProxy(
|
| const GURL& url,
|
| + const std::string& method,
|
| int load_flags,
|
| const net::ProxyService& proxy_service,
|
| net::ProxyInfo* result) {
|
| DCHECK(result);
|
| - OnResolveProxyHandler(url, load_flags, configurator_->GetProxyConfig(),
|
| + OnResolveProxyHandler(url, method, load_flags,
|
| + configurator_->GetProxyConfig(),
|
| proxy_service.proxy_retry_info(), config_, result);
|
| }
|
|
|
| void DataReductionProxyDelegate::OnTunnelConnectCompleted(
|
| const net::HostPortPair& endpoint,
|
| const net::HostPortPair& proxy_server,
|
| int net_error) {
|
| if (config_->IsDataReductionProxy(proxy_server, NULL)) {
|
| UMA_HISTOGRAM_SPARSE_SLOWLY("DataReductionProxy.HTTPConnectCompleted",
|
| std::abs(net_error));
|
| @@ -101,32 +103,34 @@ bool DataReductionProxyDelegate::IsTrustedSpdyProxy(
|
| config_->IsDataReductionProxy(proxy_server.host_port_pair(), nullptr);
|
| }
|
|
|
| void DataReductionProxyDelegate::OnTunnelHeadersReceived(
|
| const net::HostPortPair& origin,
|
| const net::HostPortPair& proxy_server,
|
| const net::HttpResponseHeaders& response_headers) {
|
| }
|
|
|
| void OnResolveProxyHandler(const GURL& url,
|
| + const std::string& method,
|
| int load_flags,
|
| const net::ProxyConfig& data_reduction_proxy_config,
|
| const net::ProxyRetryInfoMap& proxy_retry_info,
|
| const DataReductionProxyConfig* config,
|
| net::ProxyInfo* result) {
|
| DCHECK(config);
|
| DCHECK(result->is_empty() || result->is_direct() ||
|
| !config->IsDataReductionProxy(result->proxy_server().host_port_pair(),
|
| NULL));
|
| +
|
| if (!data_reduction_proxy_config.is_valid() ||
|
| !result->proxy_server().is_direct() || result->proxy_list().size() != 1 ||
|
| - url.SchemeIsWSOrWSS())
|
| + url.SchemeIsWSOrWSS() || method == "POST")
|
| return;
|
|
|
| net::ProxyInfo data_reduction_proxy_info;
|
| data_reduction_proxy_config.proxy_rules().Apply(url,
|
| &data_reduction_proxy_info);
|
| data_reduction_proxy_info.DeprioritizeBadProxies(proxy_retry_info);
|
| if (!data_reduction_proxy_info.proxy_server().is_direct())
|
| result->OverrideProxyList(data_reduction_proxy_info.proxy_list());
|
| }
|
|
|
|
|