OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 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 #ifndef HEADLESS_PUBLIC_UTIL_HTTP_URL_FETCHER_H_ | 5 #ifndef HEADLESS_PUBLIC_UTIL_HTTP_URL_FETCHER_H_ |
6 #define HEADLESS_PUBLIC_UTIL_HTTP_URL_FETCHER_H_ | 6 #define HEADLESS_PUBLIC_UTIL_HTTP_URL_FETCHER_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "headless/public/util/url_fetcher.h" | 9 #include "headless/public/util/url_fetcher.h" |
10 | 10 |
11 namespace net { | 11 namespace net { |
12 class URLRequestContext; | 12 class URLRequestContext; |
13 class URLRequestJobFactory; | |
14 } // namespace | 13 } // namespace |
15 | 14 |
16 namespace headless { | 15 namespace headless { |
17 | 16 |
18 // A simple URLFetcher that uses a net::URLRequestContext to as a back end for | 17 // A simple URLFetcher that uses a net::URLRequestContext to as a back end for |
19 // http(s) fetches. | 18 // http(s) fetches. |
20 class HttpURLFetcher : public URLFetcher { | 19 class HttpURLFetcher : public URLFetcher { |
21 public: | 20 public: |
22 explicit HttpURLFetcher(const net::URLRequestContext* url_request_context); | 21 explicit HttpURLFetcher(const net::URLRequestContext* url_request_context); |
23 ~HttpURLFetcher() override; | 22 ~HttpURLFetcher() override; |
24 | 23 |
25 // URLFetcher implementation: | 24 // URLFetcher implementation: |
26 void StartFetch(const GURL& rewritten_url, | 25 void StartFetch(const GURL& rewritten_url, |
27 const std::string& method, | 26 const std::string& method, |
28 const net::HttpRequestHeaders& request_headers, | 27 const net::HttpRequestHeaders& request_headers, |
29 ResultListener* result_listener) override; | 28 ResultListener* result_listener) override; |
30 | 29 |
31 private: | 30 private: |
32 class Delegate; | 31 class Delegate; |
33 | 32 |
34 const net::URLRequestContext* url_request_context_; | 33 const net::URLRequestContext* url_request_context_; |
35 std::unique_ptr<Delegate> delegate_; | 34 std::unique_ptr<Delegate> delegate_; |
36 | 35 |
37 DISALLOW_COPY_AND_ASSIGN(HttpURLFetcher); | 36 DISALLOW_COPY_AND_ASSIGN(HttpURLFetcher); |
38 }; | 37 }; |
39 | 38 |
40 } // namespace headless | 39 } // namespace headless |
41 | 40 |
42 #endif // HEADLESS_PUBLIC_UTIL_HTTP_URL_FETCHER_H_ | 41 #endif // HEADLESS_PUBLIC_UTIL_HTTP_URL_FETCHER_H_ |
OLD | NEW |