Index: net/http/http_util.cc |
diff --git a/net/http/http_util.cc b/net/http/http_util.cc |
index bf561362def720db7a3f913d3ae190b96abef3be..0f28c8340f512eb2a944b983370b8f0e5e05b01b 100644 |
--- a/net/http/http_util.cc |
+++ b/net/http/http_util.cc |
@@ -674,9 +674,14 @@ void HttpUtil::BuildRequestHeaders(const HttpRequestInfo* request_info, |
// Add a content length header? |
if (upload_data_stream) { |
- request_headers->SetHeader( |
- HttpRequestHeaders::kContentLength, |
- base::Uint64ToString(upload_data_stream->size())); |
+ if (upload_data_stream->is_chunked()) { |
+ request_headers->SetHeader( |
+ HttpRequestHeaders::kTransferEncoding, "chunked"); |
+ } else { |
+ request_headers->SetHeader( |
+ HttpRequestHeaders::kContentLength, |
+ base::Uint64ToString(upload_data_stream->size())); |
+ } |
} else if (request_info->method == "POST" || request_info->method == "PUT" || |
request_info->method == "HEAD") { |
// An empty POST/PUT request still needs a content length. As for HEAD, |