Index: net/http/http_network_transaction.cc |
=================================================================== |
--- net/http/http_network_transaction.cc (revision 42417) |
+++ net/http/http_network_transaction.cc (working copy) |
@@ -887,8 +887,12 @@ |
next_state_ = STATE_SEND_REQUEST_COMPLETE; |
UploadDataStream* request_body = NULL; |
- if (!establishing_tunnel_ && request_->upload_data) |
- request_body = new UploadDataStream(request_->upload_data); |
+ if (!establishing_tunnel_ && request_->upload_data) { |
+ int error_code; |
+ request_body = UploadDataStream::Create(request_->upload_data, &error_code); |
+ if (!request_body) |
+ return error_code; |
+ } |
// This is constructed lazily (instead of within our Start method), so that |
// we have proxy info available. |
@@ -1187,8 +1191,13 @@ |
CHECK(spdy_session.get()); |
- UploadDataStream* upload_data = request_->upload_data ? |
- new UploadDataStream(request_->upload_data) : NULL; |
+ UploadDataStream* upload_data = NULL; |
+ if (request_->upload_data) { |
+ int error_code = OK; |
+ upload_data = UploadDataStream::Create(request_->upload_data, &error_code); |
+ if (!upload_data) |
+ return error_code; |
+ } |
headers_valid_ = false; |
spdy_stream_ = spdy_session->GetOrCreateStream( |
*request_, upload_data, net_log_); |