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

Side by Side Diff: net/http/http_network_layer.cc

Issue 6339012: More net/ method ordering. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More done while waiting for previous patch to clear Created 9 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « net/http/http_network_layer.h ('k') | net/http/http_request_headers.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 (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "net/http/http_network_layer.h" 5 #include "net/http/http_network_layer.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/string_number_conversions.h" 8 #include "base/string_number_conversions.h"
9 #include "base/string_split.h" 9 #include "base/string_split.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
11 #include "net/http/http_network_session.h" 11 #include "net/http/http_network_session.h"
12 #include "net/http/http_network_transaction.h" 12 #include "net/http/http_network_transaction.h"
13 #include "net/socket/client_socket_factory.h" 13 #include "net/socket/client_socket_factory.h"
14 #include "net/spdy/spdy_framer.h" 14 #include "net/spdy/spdy_framer.h"
15 #include "net/spdy/spdy_session.h" 15 #include "net/spdy/spdy_session.h"
16 #include "net/spdy/spdy_session_pool.h" 16 #include "net/spdy/spdy_session_pool.h"
17 17
18 namespace net { 18 namespace net {
19 19
20 //----------------------------------------------------------------------------- 20 //-----------------------------------------------------------------------------
21 21
22 // static
23 HttpTransactionFactory* HttpNetworkLayer::CreateFactory(
24 HostResolver* host_resolver,
25 CertVerifier* cert_verifier,
26 DnsRRResolver* dnsrr_resolver,
27 DnsCertProvenanceChecker* dns_cert_checker,
28 SSLHostInfoFactory* ssl_host_info_factory,
29 ProxyService* proxy_service,
30 SSLConfigService* ssl_config_service,
31 HttpAuthHandlerFactory* http_auth_handler_factory,
32 HttpNetworkDelegate* network_delegate,
33 NetLog* net_log) {
34 DCHECK(proxy_service);
35
36 return new HttpNetworkLayer(ClientSocketFactory::GetDefaultFactory(),
37 host_resolver, cert_verifier, dnsrr_resolver,
38 dns_cert_checker,
39 ssl_host_info_factory, proxy_service,
40 ssl_config_service, http_auth_handler_factory,
41 network_delegate,
42 net_log);
43 }
44
45 // static
46 HttpTransactionFactory* HttpNetworkLayer::CreateFactory(
47 HttpNetworkSession* session) {
48 DCHECK(session);
49
50 return new HttpNetworkLayer(session);
51 }
52
53 //-----------------------------------------------------------------------------
54 HttpNetworkLayer::HttpNetworkLayer( 22 HttpNetworkLayer::HttpNetworkLayer(
55 ClientSocketFactory* socket_factory, 23 ClientSocketFactory* socket_factory,
56 HostResolver* host_resolver, 24 HostResolver* host_resolver,
57 CertVerifier* cert_verifier, 25 CertVerifier* cert_verifier,
58 DnsRRResolver* dnsrr_resolver, 26 DnsRRResolver* dnsrr_resolver,
59 DnsCertProvenanceChecker* dns_cert_checker, 27 DnsCertProvenanceChecker* dns_cert_checker,
60 SSLHostInfoFactory* ssl_host_info_factory, 28 SSLHostInfoFactory* ssl_host_info_factory,
61 ProxyService* proxy_service, 29 ProxyService* proxy_service,
62 SSLConfigService* ssl_config_service, 30 SSLConfigService* ssl_config_service,
63 HttpAuthHandlerFactory* http_auth_handler_factory, 31 HttpAuthHandlerFactory* http_auth_handler_factory,
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 http_auth_handler_factory_(NULL), 93 http_auth_handler_factory_(NULL),
126 network_delegate_(NULL), 94 network_delegate_(NULL),
127 net_log_(NULL), 95 net_log_(NULL),
128 suspended_(false) { 96 suspended_(false) {
129 DCHECK(session_.get()); 97 DCHECK(session_.get());
130 } 98 }
131 99
132 HttpNetworkLayer::~HttpNetworkLayer() { 100 HttpNetworkLayer::~HttpNetworkLayer() {
133 } 101 }
134 102
135 int HttpNetworkLayer::CreateTransaction(scoped_ptr<HttpTransaction>* trans) { 103 //-----------------------------------------------------------------------------
136 if (suspended_)
137 return ERR_NETWORK_IO_SUSPENDED;
138 104
139 trans->reset(new HttpNetworkTransaction(GetSession())); 105 // static
140 return OK; 106 HttpTransactionFactory* HttpNetworkLayer::CreateFactory(
141 } 107 HostResolver* host_resolver,
108 CertVerifier* cert_verifier,
109 DnsRRResolver* dnsrr_resolver,
110 DnsCertProvenanceChecker* dns_cert_checker,
111 SSLHostInfoFactory* ssl_host_info_factory,
112 ProxyService* proxy_service,
113 SSLConfigService* ssl_config_service,
114 HttpAuthHandlerFactory* http_auth_handler_factory,
115 HttpNetworkDelegate* network_delegate,
116 NetLog* net_log) {
117 DCHECK(proxy_service);
142 118
143 HttpCache* HttpNetworkLayer::GetCache() { 119 return new HttpNetworkLayer(ClientSocketFactory::GetDefaultFactory(),
144 return NULL; 120 host_resolver, cert_verifier, dnsrr_resolver,
145 } 121 dns_cert_checker,
146 122 ssl_host_info_factory, proxy_service,
147 void HttpNetworkLayer::Suspend(bool suspend) { 123 ssl_config_service, http_auth_handler_factory,
148 suspended_ = suspend; 124 network_delegate,
149 125 net_log);
150 if (suspend && session_)
151 session_->tcp_socket_pool()->CloseIdleSockets();
152 }
153
154 HttpNetworkSession* HttpNetworkLayer::GetSession() {
155 if (!session_) {
156 DCHECK(proxy_service_);
157 if (!spdy_session_pool_.get())
158 spdy_session_pool_.reset(new SpdySessionPool(ssl_config_service_));
159 session_ = new HttpNetworkSession(
160 host_resolver_,
161 cert_verifier_,
162 dnsrr_resolver_,
163 dns_cert_checker_,
164 ssl_host_info_factory_,
165 proxy_service_,
166 socket_factory_,
167 ssl_config_service_,
168 spdy_session_pool_.release(),
169 http_auth_handler_factory_,
170 network_delegate_,
171 net_log_);
172 // These were just temps for lazy-initializing HttpNetworkSession.
173 host_resolver_ = NULL;
174 cert_verifier_ = NULL;
175 dnsrr_resolver_ = NULL;
176 dns_cert_checker_ = NULL;
177 ssl_host_info_factory_ = NULL;
178 proxy_service_ = NULL;
179 socket_factory_ = NULL;
180 http_auth_handler_factory_ = NULL;
181 net_log_ = NULL;
182 network_delegate_ = NULL;
183 }
184 return session_;
185 } 126 }
186 127
187 // static 128 // static
129 HttpTransactionFactory* HttpNetworkLayer::CreateFactory(
130 HttpNetworkSession* session) {
131 DCHECK(session);
132
133 return new HttpNetworkLayer(session);
134 }
135
136 // static
188 void HttpNetworkLayer::EnableSpdy(const std::string& mode) { 137 void HttpNetworkLayer::EnableSpdy(const std::string& mode) {
189 static const char kOff[] = "off"; 138 static const char kOff[] = "off";
190 static const char kSSL[] = "ssl"; 139 static const char kSSL[] = "ssl";
191 static const char kDisableSSL[] = "no-ssl"; 140 static const char kDisableSSL[] = "no-ssl";
192 static const char kExclude[] = "exclude"; // Hosts to exclude 141 static const char kExclude[] = "exclude"; // Hosts to exclude
193 static const char kDisableCompression[] = "no-compress"; 142 static const char kDisableCompression[] = "no-compress";
194 static const char kDisableAltProtocols[] = "no-alt-protocols"; 143 static const char kDisableAltProtocols[] = "no-alt-protocols";
195 static const char kEnableVersionOne[] = "v1"; 144 static const char kEnableVersionOne[] = "v1";
196 static const char kForceAltProtocols[] = "force-alt-protocols"; 145 static const char kForceAltProtocols[] = "force-alt-protocols";
197 146
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 pair.port = 443; 219 pair.port = 443;
271 pair.protocol = HttpAlternateProtocols::NPN_SPDY_2; 220 pair.protocol = HttpAlternateProtocols::NPN_SPDY_2;
272 HttpAlternateProtocols::ForceAlternateProtocol(pair); 221 HttpAlternateProtocols::ForceAlternateProtocol(pair);
273 } else if (option.empty() && it == spdy_options.begin()) { 222 } else if (option.empty() && it == spdy_options.begin()) {
274 continue; 223 continue;
275 } else { 224 } else {
276 LOG(DFATAL) << "Unrecognized spdy option: " << option; 225 LOG(DFATAL) << "Unrecognized spdy option: " << option;
277 } 226 }
278 } 227 }
279 } 228 }
229
230 //-----------------------------------------------------------------------------
231
232 int HttpNetworkLayer::CreateTransaction(scoped_ptr<HttpTransaction>* trans) {
233 if (suspended_)
234 return ERR_NETWORK_IO_SUSPENDED;
235
236 trans->reset(new HttpNetworkTransaction(GetSession()));
237 return OK;
238 }
239
240 HttpCache* HttpNetworkLayer::GetCache() {
241 return NULL;
242 }
243
244 HttpNetworkSession* HttpNetworkLayer::GetSession() {
245 if (!session_) {
246 DCHECK(proxy_service_);
247 if (!spdy_session_pool_.get())
248 spdy_session_pool_.reset(new SpdySessionPool(ssl_config_service_));
249 session_ = new HttpNetworkSession(
250 host_resolver_,
251 cert_verifier_,
252 dnsrr_resolver_,
253 dns_cert_checker_,
254 ssl_host_info_factory_,
255 proxy_service_,
256 socket_factory_,
257 ssl_config_service_,
258 spdy_session_pool_.release(),
259 http_auth_handler_factory_,
260 network_delegate_,
261 net_log_);
262 // These were just temps for lazy-initializing HttpNetworkSession.
263 host_resolver_ = NULL;
264 cert_verifier_ = NULL;
265 dnsrr_resolver_ = NULL;
266 dns_cert_checker_ = NULL;
267 ssl_host_info_factory_ = NULL;
268 proxy_service_ = NULL;
269 socket_factory_ = NULL;
270 http_auth_handler_factory_ = NULL;
271 net_log_ = NULL;
272 network_delegate_ = NULL;
273 }
274 return session_;
275 }
276
277 void HttpNetworkLayer::Suspend(bool suspend) {
278 suspended_ = suspend;
279
280 if (suspend && session_)
281 session_->tcp_socket_pool()->CloseIdleSockets();
282 }
283
280 } // namespace net 284 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_network_layer.h ('k') | net/http/http_request_headers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698