| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "mojo/services/network/url_loader_impl.h" | 5 #include "mojo/services/network/url_loader_impl.h" |
| 6 | 6 |
| 7 #include "base/memory/scoped_vector.h" | 7 #include <vector> |
| 8 |
| 9 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| 9 #include "mojo/common/common_type_converters.h" | 11 #include "mojo/common/common_type_converters.h" |
| 10 #include "mojo/common/url_type_converters.h" | 12 #include "mojo/common/url_type_converters.h" |
| 11 #include "mojo/services/network/net_adapters.h" | 13 #include "mojo/services/network/net_adapters.h" |
| 12 #include "mojo/services/network/network_context.h" | 14 #include "mojo/services/network/network_context.h" |
| 13 #include "net/base/elements_upload_data_stream.h" | 15 #include "net/base/elements_upload_data_stream.h" |
| 14 #include "net/base/io_buffer.h" | 16 #include "net/base/io_buffer.h" |
| 15 #include "net/base/load_flags.h" | 17 #include "net/base/load_flags.h" |
| 16 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 18 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
| 17 #include "net/base/upload_bytes_element_reader.h" | 19 #include "net/base/upload_bytes_element_reader.h" |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 request->headers[i]->value.To<base::StringPiece>(); | 185 request->headers[i]->value.To<base::StringPiece>(); |
| 184 if (header == net::HttpRequestHeaders::kReferer) { | 186 if (header == net::HttpRequestHeaders::kReferer) { |
| 185 url_request_->SetReferrer(value.as_string()); | 187 url_request_->SetReferrer(value.as_string()); |
| 186 } else { | 188 } else { |
| 187 headers.SetHeader(header, value); | 189 headers.SetHeader(header, value); |
| 188 } | 190 } |
| 189 } | 191 } |
| 190 url_request_->SetExtraRequestHeaders(headers); | 192 url_request_->SetExtraRequestHeaders(headers); |
| 191 } | 193 } |
| 192 if (request->body) { | 194 if (request->body) { |
| 193 ScopedVector<net::UploadElementReader> element_readers; | 195 std::vector<scoped_ptr<net::UploadElementReader>> element_readers; |
| 194 for (size_t i = 0; i < request->body.size(); ++i) { | 196 for (size_t i = 0; i < request->body.size(); ++i) { |
| 195 element_readers.push_back( | 197 element_readers.push_back(make_scoped_ptr( |
| 196 new UploadDataPipeElementReader(request->body[i].Pass())); | 198 new UploadDataPipeElementReader(request->body[i].Pass()))); |
| 197 } | 199 } |
| 198 url_request_->set_upload(make_scoped_ptr<net::UploadDataStream>( | 200 url_request_->set_upload(make_scoped_ptr<net::UploadDataStream>( |
| 199 new net::ElementsUploadDataStream(element_readers.Pass(), 0))); | 201 new net::ElementsUploadDataStream(std::move(element_readers), 0))); |
| 200 } | 202 } |
| 201 if (request->bypass_cache) | 203 if (request->bypass_cache) |
| 202 url_request_->SetLoadFlags(net::LOAD_BYPASS_CACHE); | 204 url_request_->SetLoadFlags(net::LOAD_BYPASS_CACHE); |
| 203 | 205 |
| 204 callback_ = callback; | 206 callback_ = callback; |
| 205 response_body_buffer_size_ = request->response_body_buffer_size; | 207 response_body_buffer_size_ = request->response_body_buffer_size; |
| 206 auto_follow_redirects_ = request->auto_follow_redirects; | 208 auto_follow_redirects_ = request->auto_follow_redirects; |
| 207 | 209 |
| 208 url_request_->Start(); | 210 url_request_->Start(); |
| 209 } | 211 } |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 | 405 |
| 404 void URLLoaderImpl::ListenForPeerClosed() { | 406 void URLLoaderImpl::ListenForPeerClosed() { |
| 405 handle_watcher_.Start(response_body_stream_.get(), | 407 handle_watcher_.Start(response_body_stream_.get(), |
| 406 MOJO_HANDLE_SIGNAL_PEER_CLOSED, | 408 MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
| 407 MOJO_DEADLINE_INDEFINITE, | 409 MOJO_DEADLINE_INDEFINITE, |
| 408 base::Bind(&URLLoaderImpl::OnResponseBodyStreamClosed, | 410 base::Bind(&URLLoaderImpl::OnResponseBodyStreamClosed, |
| 409 base::Unretained(this))); | 411 base::Unretained(this))); |
| 410 } | 412 } |
| 411 | 413 |
| 412 } // namespace mojo | 414 } // namespace mojo |
| OLD | NEW |