Index: net/http/http_network_transaction.cc |
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc |
index 4b55a5f78da7e0e074526bea6cd01f303a48d9e5..65486a6c757e319cc8397b2fe6e5bcf38e11c55e 100644 |
--- a/net/http/http_network_transaction.cc |
+++ b/net/http/http_network_transaction.cc |
@@ -987,9 +987,13 @@ int HttpNetworkTransaction::DoReadHeadersComplete(int result) { |
if (proxy_service->MarkProxyAsBad(proxy_info_, bypass_duration, |
net_log_)) { |
- // 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") { |
+ // Only retry idempotent methods. |
+ if (request_->method == "GET" || |
mef
2013/12/18 16:34:41
Is request_->method guaranteed to be upper case?
bengr
2013/12/18 19:39:47
Yes. From RFC 2616, sec 5.1.1 Method:
"The Method
|
+ request_->method == "OPTIONS" || |
+ request_->method == "HEAD" || |
+ request_->method == "PUT" || |
+ request_->method == "DELETE" || |
+ request_->method == "TRACE") { |
ResetConnectionAndRequestForResend(); |
return OK; |
} |