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

Side by Side Diff: mojo/services/network/url_loader_impl.h

Issue 1227373002: Roll mojo SDK to 734c6e1652ff2f3b696e441722838f453f4f9b42 (Closed) Base URL: https://github.com/domokit/monet.git@master
Patch Set: Follow review Created 5 years, 5 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
« no previous file with comments | « mojo/services/network/udp_socket_impl.h ('k') | mojo/services/network/url_loader_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef MOJO_SERVICES_NETWORK_URL_LOADER_IMPL_H_ 5 #ifndef MOJO_SERVICES_NETWORK_URL_LOADER_IMPL_H_
6 #define MOJO_SERVICES_NETWORK_URL_LOADER_IMPL_H_ 6 #define MOJO_SERVICES_NETWORK_URL_LOADER_IMPL_H_
7 7
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "mojo/common/handle_watcher.h" 10 #include "mojo/common/handle_watcher.h"
11 #include "mojo/services/network/public/interfaces/url_loader.mojom.h" 11 #include "mojo/services/network/public/interfaces/url_loader.mojom.h"
12 #include "mojo/services/network/public/interfaces/network_service.mojom.h" 12 #include "mojo/services/network/public/interfaces/network_service.mojom.h"
13 #include "net/base/net_errors.h" 13 #include "net/base/net_errors.h"
14 #include "net/url_request/url_request.h" 14 #include "net/url_request/url_request.h"
15 #include "third_party/mojo/src/mojo/public/cpp/bindings/binding.h" 15 #include "third_party/mojo/src/mojo/public/cpp/bindings/binding.h"
16 #include "third_party/mojo/src/mojo/public/cpp/bindings/error_handler.h"
17 #include "third_party/mojo/src/mojo/public/cpp/bindings/interface_impl.h"
18 16
19 namespace mojo { 17 namespace mojo {
20 18
21 class NetworkContext; 19 class NetworkContext;
22 class NetToMojoPendingBuffer; 20 class NetToMojoPendingBuffer;
23 21
24 class URLLoaderImpl : public URLLoader, 22 class URLLoaderImpl : public URLLoader,
25 public ErrorHandler,
26 public net::URLRequest::Delegate { 23 public net::URLRequest::Delegate {
27 public: 24 public:
28 URLLoaderImpl(NetworkContext* context, 25 URLLoaderImpl(NetworkContext* context,
29 InterfaceRequest<URLLoader> request, 26 InterfaceRequest<URLLoader> request,
30 std::vector<URLLoaderInterceptorPtr> interceptors); 27 std::vector<URLLoaderInterceptorPtr> interceptors);
31 ~URLLoaderImpl() override; 28 ~URLLoaderImpl() override;
32 29
33 // Called when the associated NetworkContext is going away. 30 // Called when the associated NetworkContext is going away.
34 void Cleanup(); 31 void Cleanup();
35 32
36 private: 33 private:
37 class BodyFetcher; 34 class BodyFetcher;
38 35
39 // URLLoader methods: 36 // URLLoader methods:
40 void Start(URLRequestPtr request, 37 void Start(URLRequestPtr request,
41 const Callback<void(URLResponsePtr)>& callback) override; 38 const Callback<void(URLResponsePtr)>& callback) override;
42 void FollowRedirect(const Callback<void(URLResponsePtr)>& callback) override; 39 void FollowRedirect(const Callback<void(URLResponsePtr)>& callback) override;
43 void QueryStatus(const Callback<void(URLLoaderStatusPtr)>& callback) override; 40 void QueryStatus(const Callback<void(URLLoaderStatusPtr)>& callback) override;
44 41
45 // ErrorHandler methods:
46 void OnConnectionError() override;
47
48 // net::URLRequest::Delegate methods: 42 // net::URLRequest::Delegate methods:
49 void OnReceivedRedirect(net::URLRequest* url_request, 43 void OnReceivedRedirect(net::URLRequest* url_request,
50 const net::RedirectInfo& redirect_info, 44 const net::RedirectInfo& redirect_info,
51 bool* defer_redirect) override; 45 bool* defer_redirect) override;
52 void OnResponseStarted(net::URLRequest* url_request) override; 46 void OnResponseStarted(net::URLRequest* url_request) override;
53 void OnReadCompleted(net::URLRequest* url_request, int bytes_read) override; 47 void OnReadCompleted(net::URLRequest* url_request, int bytes_read) override;
54 48
49 void OnConnectionError();
55 void SendError( 50 void SendError(
56 int error, 51 int error,
57 const Callback<void(URLResponsePtr)>& callback); 52 const Callback<void(URLResponsePtr)>& callback);
58 void OnIntercept(URLLoaderInterceptorResponsePtr response); 53 void OnIntercept(URLLoaderInterceptorResponsePtr response);
59 void FollowRedirectInternal(); 54 void FollowRedirectInternal();
60 void StartInternal(URLRequestPtr request); 55 void StartInternal(URLRequestPtr request);
61 void SendResponse(URLResponsePtr response); 56 void SendResponse(URLResponsePtr response);
62 void OnBodyFetcherDone(BodyFetcher* fetcher); 57 void OnBodyFetcherDone(BodyFetcher* fetcher);
63 58
64 NetworkContext* context_; 59 NetworkContext* context_;
65 std::vector<URLLoaderInterceptorPtr> interceptors_; 60 std::vector<URLLoaderInterceptorPtr> interceptors_;
66 int interceptor_index_; 61 int interceptor_index_;
67 Callback<void(URLResponsePtr)> callback_; 62 Callback<void(URLResponsePtr)> callback_;
68 scoped_ptr<net::URLRequest> url_request_; 63 scoped_ptr<net::URLRequest> url_request_;
69 scoped_ptr<net::RedirectInfo> redirect_info_; 64 scoped_ptr<net::RedirectInfo> redirect_info_;
70 uint32 response_body_buffer_size_; 65 uint32 response_body_buffer_size_;
71 bool auto_follow_redirects_; 66 bool auto_follow_redirects_;
72 std::vector<std::unique_ptr<BodyFetcher>> body_fetchers_; 67 std::vector<std::unique_ptr<BodyFetcher>> body_fetchers_;
73 uint32_t current_fetcher_id_; 68 uint32_t current_fetcher_id_;
74 URLLoaderStatusPtr last_status_; 69 URLLoaderStatusPtr last_status_;
75 Binding<URLLoader> binding_; 70 Binding<URLLoader> binding_;
76 }; 71 };
77 72
78 } // namespace mojo 73 } // namespace mojo
79 74
80 #endif // MOJO_SERVICES_NETWORK_URL_LOADER_IMPL_H_ 75 #endif // MOJO_SERVICES_NETWORK_URL_LOADER_IMPL_H_
OLDNEW
« no previous file with comments | « mojo/services/network/udp_socket_impl.h ('k') | mojo/services/network/url_loader_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698