Chromium Code Reviews| Index: net/http/partial_data.cc |
| diff --git a/net/http/partial_data.cc b/net/http/partial_data.cc |
| index ee3678b5ea05c69ed49dd11d0309c346a1fbfec2..6ef7e859f2174740114241d50676c4e9975cc666 100644 |
| --- a/net/http/partial_data.cc |
| +++ b/net/http/partial_data.cc |
| @@ -382,40 +382,28 @@ void PartialData::FixResponseHeaders(HttpResponseHeaders* headers, |
| if (truncated_) |
| return; |
| + if (byte_range_.IsValid() && success) { |
| + HttpUtil::UpdateResponseHeadersWithRange( |
| + byte_range_, resource_size_, !sparse_entry_, headers); |
| + return; |
| + } |
| + |
| headers->RemoveHeader(kLengthHeader); |
| headers->RemoveHeader(kRangeHeader); |
| - int64 range_len, start, end; |
| + // success==false cases. |
|
rvargas (doing something else)
2014/03/05 19:47:33
nit: remove comment
kinuko
2014/03/06 04:11:29
Done.
|
| if (byte_range_.IsValid()) { |
| - if (success) { |
| - if (!sparse_entry_) |
| - headers->ReplaceStatusLine("HTTP/1.1 206 Partial Content"); |
| - |
| - DCHECK(byte_range_.HasFirstBytePosition()); |
| - DCHECK(byte_range_.HasLastBytePosition()); |
| - start = byte_range_.first_byte_position(); |
| - end = byte_range_.last_byte_position(); |
| - range_len = end - start + 1; |
| - } else { |
| - headers->ReplaceStatusLine( |
| - "HTTP/1.1 416 Requested Range Not Satisfiable"); |
| - start = 0; |
| - end = 0; |
| - range_len = 0; |
| - } |
| - |
| - headers->AddHeader( |
| - base::StringPrintf("%s: bytes %" PRId64 "-%" PRId64 "/%" PRId64, |
| - kRangeHeader, start, end, resource_size_)); |
| + headers->ReplaceStatusLine("HTTP/1.1 416 Requested Range Not Satisfiable"); |
| + headers->AddHeader(base::StringPrintf("%s: bytes 0-0/%" PRId64, |
| + kRangeHeader, resource_size_)); |
| + headers->AddHeader(base::StringPrintf("%s: 0", kLengthHeader)); |
| } else { |
| // TODO(rvargas): Is it safe to change the protocol version? |
| headers->ReplaceStatusLine("HTTP/1.1 200 OK"); |
| DCHECK_NE(resource_size_, 0); |
| - range_len = resource_size_; |
| + headers->AddHeader(base::StringPrintf("%s: %" PRId64, kLengthHeader, |
| + resource_size_)); |
| } |
| - |
| - headers->AddHeader(base::StringPrintf("%s: %" PRId64, kLengthHeader, |
| - range_len)); |
| } |
| void PartialData::FixContentLength(HttpResponseHeaders* headers) { |