diff options
author | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-01 00:39:50 +0000 |
---|---|---|
committer | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-01 00:39:50 +0000 |
commit | 90499486eb26f12da3456f01bd28abc4a6191ea4 (patch) | |
tree | aa97aa55048b94b328a11621f0dc73a2622c06e8 /net/http/http_stream_parser.cc | |
parent | a9030b828efc3b1312264875c1f76b35708eb000 (diff) | |
download | chromium_src-90499486eb26f12da3456f01bd28abc4a6191ea4.zip chromium_src-90499486eb26f12da3456f01bd28abc4a6191ea4.tar.gz chromium_src-90499486eb26f12da3456f01bd28abc4a6191ea4.tar.bz2 |
Update net/ to use scoped_refptr<T>::get() rather than implicit "operator T*"
Linux fixes
BUG=110610
TBR=darin
Review URL: https://chromiumcodereview.appspot.com/15829004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203535 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_stream_parser.cc')
-rw-r--r-- | net/http/http_stream_parser.cc | 51 |
1 files changed, 25 insertions, 26 deletions
diff --git a/net/http/http_stream_parser.cc b/net/http/http_stream_parser.cc index 7b195e7..17b5c6e 100644 --- a/net/http/http_stream_parser.cc +++ b/net/http/http_stream_parser.cc @@ -248,15 +248,15 @@ int HttpStreamParser::SendRequest(const std::string& request_line, // We'll repurpose |request_headers_| to store the merged headers and // body. request_headers_ = new DrainableIOBuffer( - merged_request_headers_and_body, merged_size); + merged_request_headers_and_body.get(), merged_size); memcpy(request_headers_->data(), request.data(), request.size()); request_headers_->DidConsume(request.size()); size_t todo = request_->upload_data_stream->size(); while (todo) { - int consumed = request_->upload_data_stream->Read(request_headers_, todo, - CompletionCallback()); + int consumed = request_->upload_data_stream + ->Read(request_headers_.get(), todo, CompletionCallback()); DCHECK_GT(consumed, 0); // Read() won't fail if not chunked. request_headers_->DidConsume(consumed); todo -= consumed; @@ -278,8 +278,8 @@ int HttpStreamParser::SendRequest(const std::string& request_line, // If we didn't merge the body with the headers, then |request_headers_| // contains just the HTTP headers. scoped_refptr<StringIOBuffer> headers_io_buf(new StringIOBuffer(request)); - request_headers_ = new DrainableIOBuffer(headers_io_buf, - headers_io_buf->size()); + request_headers_ = + new DrainableIOBuffer(headers_io_buf.get(), headers_io_buf->size()); } result = DoLoop(OK); @@ -422,9 +422,8 @@ int HttpStreamParser::DoSendHeaders(int result) { if (bytes_remaining == request_headers_->size()) { response_->request_time = base::Time::Now(); } - result = connection_->socket()->Write(request_headers_, - bytes_remaining, - io_callback_); + result = connection_->socket() + ->Write(request_headers_.get(), bytes_remaining, io_callback_); } else if (request_->upload_data_stream != NULL && (request_->upload_data_stream->is_chunked() || // !IsEOF() indicates that the body wasn't merged. @@ -451,10 +450,10 @@ int HttpStreamParser::DoSendBody(int result) { // Send the remaining data in the request body buffer. request_body_send_buf_->DidConsume(result); if (request_body_send_buf_->BytesRemaining() > 0) { - return connection_->socket()->Write( - request_body_send_buf_, - request_body_send_buf_->BytesRemaining(), - io_callback_); + return connection_->socket() + ->Write(request_body_send_buf_.get(), + request_body_send_buf_->BytesRemaining(), + io_callback_); } if (request_->upload_data_stream->is_chunked() && sent_last_chunk_) { @@ -464,7 +463,7 @@ int HttpStreamParser::DoSendBody(int result) { request_body_read_buf_->Clear(); io_state_ = STATE_SEND_REQUEST_READING_BODY; - return request_->upload_data_stream->Read(request_body_read_buf_, + return request_->upload_data_stream->Read(request_body_read_buf_.get(), request_body_read_buf_->capacity(), io_callback_); } @@ -513,9 +512,8 @@ int HttpStreamParser::DoReadHeaders() { // See if the user is passing in an IOBuffer with a NULL |data_|. CHECK(read_buf_->data()); - return connection_->socket()->Read(read_buf_, - read_buf_->RemainingCapacity(), - io_callback_); + return connection_->socket() + ->Read(read_buf_.get(), read_buf_->RemainingCapacity(), io_callback_); } int HttpStreamParser::DoReadHeadersComplete(int result) { @@ -650,8 +648,8 @@ int HttpStreamParser::DoReadBody() { return 0; DCHECK_EQ(0, read_buf_->offset()); - return connection_->socket()->Read(user_read_buf_, user_read_buf_len_, - io_callback_); + return connection_->socket() + ->Read(user_read_buf_.get(), user_read_buf_len_, io_callback_); } int HttpStreamParser::DoReadBodyComplete(int result) { @@ -795,25 +793,26 @@ int HttpStreamParser::DoParseResponseHeaders(int end_offset) { // If they exist, and have distinct values, it's a potential response // smuggling attack. if (!headers->HasHeader("Transfer-Encoding")) { - if (HeadersContainMultipleCopiesOfField(*headers, "Content-Length")) + if (HeadersContainMultipleCopiesOfField(*headers.get(), "Content-Length")) return ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH; } // Check for multiple Content-Disposition or Location headers. If they exist, // it's also a potential response smuggling attack. - if (HeadersContainMultipleCopiesOfField(*headers, "Content-Disposition")) + if (HeadersContainMultipleCopiesOfField(*headers.get(), + "Content-Disposition")) return ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION; - if (HeadersContainMultipleCopiesOfField(*headers, "Location")) + if (HeadersContainMultipleCopiesOfField(*headers.get(), "Location")) return ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION; response_->headers = headers; response_->connection_info = HttpResponseInfo::CONNECTION_INFO_HTTP1; - response_->vary_data.Init(*request_, *response_->headers); + response_->vary_data.Init(*request_, *response_->headers.get()); DVLOG(1) << __FUNCTION__ << "()" - << " content_length = \"" - << response_->headers->GetContentLength() << "\n\"" - << " headers = \"" << GetResponseHeaderLines(*response_->headers) - << "\""; + << " content_length = \"" << response_->headers->GetContentLength() + << "\n\"" + << " headers = \"" + << GetResponseHeaderLines(*response_->headers.get()) << "\""; return OK; } |