diff options
Diffstat (limited to 'remoting/host/url_fetcher.cc')
-rw-r--r-- | remoting/host/url_fetcher.cc | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/remoting/host/url_fetcher.cc b/remoting/host/url_fetcher.cc index 1844d0c..9f5084b 100644 --- a/remoting/host/url_fetcher.cc +++ b/remoting/host/url_fetcher.cc @@ -24,6 +24,7 @@ class UrlFetcher::Core : public base::RefCountedThreadSafe<Core>, net::URLRequestContextGetter* request_context_getter); void SetUploadData(const std::string& upload_content_type, const std::string& upload_content); + void SetHeader(const std::string& key, const std::string& value); void Start(const UrlFetcher::DoneCallback& done_callback); void Detach(); @@ -57,6 +58,8 @@ class UrlFetcher::Core : public base::RefCountedThreadSafe<Core>, std::string upload_content_; std::string upload_content_type_; + net::HttpRequestHeaders request_headers_; + scoped_ptr<net::URLRequest> request_; scoped_refptr<net::IOBuffer> buffer_; @@ -89,6 +92,11 @@ void UrlFetcher::Core::SetUploadData(const std::string& upload_content_type, upload_content_ = upload_content; } +void UrlFetcher::Core::SetHeader(const std::string& key, + const std::string& value) { + request_headers_.SetHeader(key, value); +} + void UrlFetcher::Core::Start(const UrlFetcher::DoneCallback& done_callback) { done_callback_ = done_callback; io_message_loop_ = request_context_getter_->GetIOMessageLoopProxy(); @@ -146,16 +154,16 @@ void UrlFetcher::Core::DoStart() { DCHECK(!upload_content_type_.empty()); request_->set_method("POST"); - net::HttpRequestHeaders headers; - headers.SetHeader(net::HttpRequestHeaders::kContentType, - upload_content_type_); - request_->SetExtraRequestHeaders(headers); + request_headers_.SetHeader(net::HttpRequestHeaders::kContentType, + upload_content_type_); request_->AppendBytesToUpload( upload_content_.data(), static_cast<int>(upload_content_.length())); break; } + request_->SetExtraRequestHeaders(request_headers_); + request_->Start(); } @@ -200,6 +208,10 @@ void UrlFetcher::SetUploadData(const std::string& upload_content_type, core_->SetUploadData(upload_content_type, upload_content); } +void UrlFetcher::SetHeader(const std::string& key, const std::string& value) { + core_->SetHeader(key, value); +} + void UrlFetcher::Start(const DoneCallback& done_callback) { core_->Start(done_callback); } |