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; |
} |