| Index: net/http/http_network_transaction.cc
|
| diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
|
| index d956fb372d8d79d6a7e07d1a126fd24317e887ab..a6d50699c0f1854036772b67c2a0ea1b1e62ae63 100644
|
| --- a/net/http/http_network_transaction.cc
|
| +++ b/net/http/http_network_transaction.cc
|
| @@ -975,9 +975,9 @@
|
| else
|
| proxy_bypass_event = ProxyService::LONG_BYPASS;
|
| } else {
|
| - // Additionally, fallback if a 500, 502 or 503 is returned via the data
|
| - // reduction proxy. This is conservative, as the 500, 501 or 502 might
|
| - // have been generated by the origin, and not the proxy.
|
| + // Additionally, fallback if a 500 or 502 is returned via the data
|
| + // reduction proxy. This is conservative, as the 500 or 502 might have
|
| + // been generated by the origin, and not the proxy.
|
| if (response_.headers->response_code() == HTTP_INTERNAL_SERVER_ERROR ||
|
| response_.headers->response_code() == HTTP_BAD_GATEWAY ||
|
| response_.headers->response_code() == HTTP_SERVICE_UNAVAILABLE) {
|
| @@ -1008,14 +1008,9 @@
|
| chrome_proxy_info.bypass_duration,
|
| proxy_server,
|
| net_log_)) {
|
| - // Only retry idempotent methods. We don't want to resubmit a POST
|
| + // Only retry in the case of GETs. We don't want to resubmit a POST
|
| // if the proxy took some action.
|
| - if (request_->method == "GET" ||
|
| - request_->method == "OPTIONS" ||
|
| - request_->method == "HEAD" ||
|
| - request_->method == "PUT" ||
|
| - request_->method == "DELETE" ||
|
| - request_->method == "TRACE") {
|
| + if (request_->method == "GET") {
|
| ResetConnectionAndRequestForResend();
|
| return OK;
|
| }
|
|
|