Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(167)

Side by Side Diff: remoting/base/chromium_url_request.cc

Issue 1679023009: Add remoting::UrlRequest interface with 2 implementations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "remoting/base/chromium_url_request.h"
6
7 #include "base/callback_helpers.h"
8 #include "net/url_request/url_fetcher.h"
9 #include "net/url_request/url_request_context_getter.h"
10
11 namespace remoting {
12
13 ChromiumUrlRequest::ChromiumUrlRequest(
14 scoped_refptr<net::URLRequestContextGetter> url_context,
15 const std::string& url) {
16 url_fetcher_ = net::URLFetcher::Create(GURL(url), net::URLFetcher::GET, this);
17 url_fetcher_->SetRequestContext(url_context.get());
18 }
19
20 ChromiumUrlRequest::~ChromiumUrlRequest() {}
21
22 void ChromiumUrlRequest::AddHeader(const std::string& value) {
23 url_fetcher_->AddExtraRequestHeader(value);
24 }
25
26 void ChromiumUrlRequest::Start(const OnResultCallback& on_result_callback) {
27 on_result_callback_ = on_result_callback;
28 url_fetcher_->Start();
29 }
30
31 void ChromiumUrlRequest::OnURLFetchComplete(
32 const net::URLFetcher* url_fetcher) {
33 DCHECK_EQ(url_fetcher, url_fetcher_.get());
34
35 Result result;
36 result.success =
37 url_fetcher_->GetResponseCode() != net::URLFetcher::RESPONSE_CODE_INVALID;
38 if (result.success) {
39 result.status = url_fetcher_->GetResponseCode();
40 url_fetcher_->GetResponseAsString(&result.response_body);
41 }
42
43 base::ResetAndReturn(&on_result_callback_).Run(result);
Jamie 2016/02/11 01:58:44 CHECK the callback isn't null?
Sergey Ulanov 2016/02/11 18:57:38 Done.
44 }
45
46 ChromiumUrlRequestFactory::ChromiumUrlRequestFactory(
47 scoped_refptr<net::URLRequestContextGetter> url_context)
48 : url_context_(url_context) {}
49 ChromiumUrlRequestFactory::~ChromiumUrlRequestFactory() {}
50
51 scoped_ptr<UrlRequest> ChromiumUrlRequestFactory::CreateUrlRequest(
52 const std::string& url) {
53 return make_scoped_ptr(new ChromiumUrlRequest(url_context_, url));
54 }
55
56 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698