OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 NET_HTTP_HTTP_NETWORK_SESSION_H_ | 5 #ifndef NET_HTTP_HTTP_NETWORK_SESSION_H_ |
6 #define NET_HTTP_HTTP_NETWORK_SESSION_H_ | 6 #define NET_HTTP_HTTP_NETWORK_SESSION_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 class DnsCertProvenanceChecker; | 31 class DnsCertProvenanceChecker; |
32 class DnsRRResolver; | 32 class DnsRRResolver; |
33 class HostResolver; | 33 class HostResolver; |
34 class HttpAuthHandlerFactory; | 34 class HttpAuthHandlerFactory; |
35 class HttpNetworkSessionPeer; | 35 class HttpNetworkSessionPeer; |
36 class HttpProxyClientSocketPool; | 36 class HttpProxyClientSocketPool; |
37 class HttpResponseBodyDrainer; | 37 class HttpResponseBodyDrainer; |
38 class NetLog; | 38 class NetLog; |
39 class NetworkDelegate; | 39 class NetworkDelegate; |
40 class ProxyService; | 40 class ProxyService; |
| 41 class SpdyConfigService; |
41 class SSLConfigService; | 42 class SSLConfigService; |
42 class SSLHostInfoFactory; | 43 class SSLHostInfoFactory; |
43 | 44 |
44 // This class holds session objects used by HttpNetworkTransaction objects. | 45 // This class holds session objects used by HttpNetworkTransaction objects. |
45 class NET_EXPORT HttpNetworkSession | 46 class NET_EXPORT HttpNetworkSession |
46 : public base::RefCounted<HttpNetworkSession>, | 47 : public base::RefCounted<HttpNetworkSession>, |
47 NON_EXPORTED_BASE(public base::NonThreadSafe) { | 48 NON_EXPORTED_BASE(public base::NonThreadSafe) { |
48 public: | 49 public: |
49 struct NET_EXPORT Params { | 50 struct NET_EXPORT Params { |
50 Params() | 51 Params() |
51 : client_socket_factory(NULL), | 52 : client_socket_factory(NULL), |
52 host_resolver(NULL), | 53 host_resolver(NULL), |
53 cert_verifier(NULL), | 54 cert_verifier(NULL), |
54 origin_bound_cert_service(NULL), | 55 origin_bound_cert_service(NULL), |
55 dnsrr_resolver(NULL), | 56 dnsrr_resolver(NULL), |
56 dns_cert_checker(NULL), | 57 dns_cert_checker(NULL), |
57 proxy_service(NULL), | 58 proxy_service(NULL), |
58 ssl_host_info_factory(NULL), | 59 ssl_host_info_factory(NULL), |
| 60 spdy_config_service(NULL), |
59 ssl_config_service(NULL), | 61 ssl_config_service(NULL), |
60 http_auth_handler_factory(NULL), | 62 http_auth_handler_factory(NULL), |
61 network_delegate(NULL), | 63 network_delegate(NULL), |
62 net_log(NULL) {} | 64 net_log(NULL) {} |
63 | 65 |
64 ClientSocketFactory* client_socket_factory; | 66 ClientSocketFactory* client_socket_factory; |
65 HostResolver* host_resolver; | 67 HostResolver* host_resolver; |
66 CertVerifier* cert_verifier; | 68 CertVerifier* cert_verifier; |
67 OriginBoundCertService* origin_bound_cert_service; | 69 OriginBoundCertService* origin_bound_cert_service; |
68 DnsRRResolver* dnsrr_resolver; | 70 DnsRRResolver* dnsrr_resolver; |
69 DnsCertProvenanceChecker* dns_cert_checker; | 71 DnsCertProvenanceChecker* dns_cert_checker; |
70 ProxyService* proxy_service; | 72 ProxyService* proxy_service; |
71 SSLHostInfoFactory* ssl_host_info_factory; | 73 SSLHostInfoFactory* ssl_host_info_factory; |
| 74 SpdyConfigService* spdy_config_service; |
72 SSLConfigService* ssl_config_service; | 75 SSLConfigService* ssl_config_service; |
73 HttpAuthHandlerFactory* http_auth_handler_factory; | 76 HttpAuthHandlerFactory* http_auth_handler_factory; |
74 NetworkDelegate* network_delegate; | 77 NetworkDelegate* network_delegate; |
75 NetLog* net_log; | 78 NetLog* net_log; |
76 }; | 79 }; |
77 | 80 |
78 explicit HttpNetworkSession(const Params& params); | 81 explicit HttpNetworkSession(const Params& params); |
79 | 82 |
80 HttpAuthCache* http_auth_cache() { return &http_auth_cache_; } | 83 HttpAuthCache* http_auth_cache() { return &http_auth_cache_; } |
81 SSLClientAuthCache* ssl_client_auth_cache() { | 84 SSLClientAuthCache* ssl_client_auth_cache() { |
(...skipping 23 matching lines...) Expand all Loading... |
105 const HostPortPair& socks_proxy); | 108 const HostPortPair& socks_proxy); |
106 | 109 |
107 HttpProxyClientSocketPool* GetSocketPoolForHTTPProxy( | 110 HttpProxyClientSocketPool* GetSocketPoolForHTTPProxy( |
108 const HostPortPair& http_proxy); | 111 const HostPortPair& http_proxy); |
109 | 112 |
110 SSLClientSocketPool* GetSocketPoolForSSLWithProxy( | 113 SSLClientSocketPool* GetSocketPoolForSSLWithProxy( |
111 const HostPortPair& proxy_server); | 114 const HostPortPair& proxy_server); |
112 | 115 |
113 CertVerifier* cert_verifier() { return cert_verifier_; } | 116 CertVerifier* cert_verifier() { return cert_verifier_; } |
114 ProxyService* proxy_service() { return proxy_service_; } | 117 ProxyService* proxy_service() { return proxy_service_; } |
| 118 SpdyConfigService* spdy_config_service() { return spdy_config_service_; } |
115 SSLConfigService* ssl_config_service() { return ssl_config_service_; } | 119 SSLConfigService* ssl_config_service() { return ssl_config_service_; } |
116 SpdySessionPool* spdy_session_pool() { return &spdy_session_pool_; } | 120 SpdySessionPool* spdy_session_pool() { return &spdy_session_pool_; } |
117 HttpAuthHandlerFactory* http_auth_handler_factory() { | 121 HttpAuthHandlerFactory* http_auth_handler_factory() { |
118 return http_auth_handler_factory_; | 122 return http_auth_handler_factory_; |
119 } | 123 } |
120 NetworkDelegate* network_delegate() { | 124 NetworkDelegate* network_delegate() { |
121 return network_delegate_; | 125 return network_delegate_; |
122 } | 126 } |
123 | 127 |
124 HttpStreamFactory* http_stream_factory() { | 128 HttpStreamFactory* http_stream_factory() { |
(...skipping 21 matching lines...) Expand all Loading... |
146 | 150 |
147 ~HttpNetworkSession(); | 151 ~HttpNetworkSession(); |
148 | 152 |
149 NetLog* const net_log_; | 153 NetLog* const net_log_; |
150 NetworkDelegate* const network_delegate_; | 154 NetworkDelegate* const network_delegate_; |
151 CertVerifier* const cert_verifier_; | 155 CertVerifier* const cert_verifier_; |
152 HttpAuthHandlerFactory* const http_auth_handler_factory_; | 156 HttpAuthHandlerFactory* const http_auth_handler_factory_; |
153 | 157 |
154 // Not const since it's modified by HttpNetworkSessionPeer for testing. | 158 // Not const since it's modified by HttpNetworkSessionPeer for testing. |
155 ProxyService* proxy_service_; | 159 ProxyService* proxy_service_; |
| 160 const scoped_refptr<SpdyConfigService> spdy_config_service_; |
156 const scoped_refptr<SSLConfigService> ssl_config_service_; | 161 const scoped_refptr<SSLConfigService> ssl_config_service_; |
157 | 162 |
158 HttpAuthCache http_auth_cache_; | 163 HttpAuthCache http_auth_cache_; |
159 SSLClientAuthCache ssl_client_auth_cache_; | 164 SSLClientAuthCache ssl_client_auth_cache_; |
160 HttpAlternateProtocols alternate_protocols_; | 165 HttpAlternateProtocols alternate_protocols_; |
161 ClientSocketPoolManager socket_pool_manager_; | 166 ClientSocketPoolManager socket_pool_manager_; |
162 SpdySessionPool spdy_session_pool_; | 167 SpdySessionPool spdy_session_pool_; |
163 scoped_ptr<HttpStreamFactory> http_stream_factory_; | 168 scoped_ptr<HttpStreamFactory> http_stream_factory_; |
164 std::set<HttpResponseBodyDrainer*> response_drainers_; | 169 std::set<HttpResponseBodyDrainer*> response_drainers_; |
165 }; | 170 }; |
166 | 171 |
167 } // namespace net | 172 } // namespace net |
168 | 173 |
169 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ | 174 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ |
OLD | NEW |