| OLD | NEW |
| 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_transaction.h" | 5 #include "net/http/http_network_transaction.h" |
| 6 | 6 |
| 7 #include <math.h> // ceil | 7 #include <math.h> // ceil |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 } // namespace | 67 } // namespace |
| 68 | 68 |
| 69 namespace net { | 69 namespace net { |
| 70 | 70 |
| 71 // Helper to manage the lifetimes of the dependencies for a | 71 // Helper to manage the lifetimes of the dependencies for a |
| 72 // HttpNetworkTransaction. | 72 // HttpNetworkTransaction. |
| 73 struct SessionDependencies { | 73 struct SessionDependencies { |
| 74 // Default set of dependencies -- "null" proxy service. | 74 // Default set of dependencies -- "null" proxy service. |
| 75 SessionDependencies() | 75 SessionDependencies() |
| 76 : host_resolver(new MockHostResolver), | 76 : host_resolver(new MockHostResolver), |
| 77 cert_verifier(new CertVerifier), |
| 77 proxy_service(ProxyService::CreateDirect()), | 78 proxy_service(ProxyService::CreateDirect()), |
| 78 ssl_config_service(new SSLConfigServiceDefaults), | 79 ssl_config_service(new SSLConfigServiceDefaults), |
| 79 http_auth_handler_factory( | 80 http_auth_handler_factory( |
| 80 HttpAuthHandlerFactory::CreateDefault(host_resolver.get())), | 81 HttpAuthHandlerFactory::CreateDefault(host_resolver.get())), |
| 81 net_log(NULL) {} | 82 net_log(NULL) {} |
| 82 | 83 |
| 83 // Custom proxy service dependency. | 84 // Custom proxy service dependency. |
| 84 explicit SessionDependencies(ProxyService* proxy_service) | 85 explicit SessionDependencies(ProxyService* proxy_service) |
| 85 : host_resolver(new MockHostResolver), | 86 : host_resolver(new MockHostResolver), |
| 87 cert_verifier(new CertVerifier), |
| 86 proxy_service(proxy_service), | 88 proxy_service(proxy_service), |
| 87 ssl_config_service(new SSLConfigServiceDefaults), | 89 ssl_config_service(new SSLConfigServiceDefaults), |
| 88 http_auth_handler_factory( | 90 http_auth_handler_factory( |
| 89 HttpAuthHandlerFactory::CreateDefault(host_resolver.get())), | 91 HttpAuthHandlerFactory::CreateDefault(host_resolver.get())), |
| 90 net_log(NULL) {} | 92 net_log(NULL) {} |
| 91 | 93 |
| 92 scoped_ptr<MockHostResolverBase> host_resolver; | 94 scoped_ptr<MockHostResolverBase> host_resolver; |
| 95 scoped_ptr<CertVerifier> cert_verifier; |
| 93 scoped_refptr<ProxyService> proxy_service; | 96 scoped_refptr<ProxyService> proxy_service; |
| 94 scoped_refptr<SSLConfigService> ssl_config_service; | 97 scoped_refptr<SSLConfigService> ssl_config_service; |
| 95 MockClientSocketFactory socket_factory; | 98 MockClientSocketFactory socket_factory; |
| 96 scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory; | 99 scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory; |
| 97 NetLog* net_log; | 100 NetLog* net_log; |
| 98 }; | 101 }; |
| 99 | 102 |
| 100 HttpNetworkSession* CreateSession(SessionDependencies* session_deps) { | 103 HttpNetworkSession* CreateSession(SessionDependencies* session_deps) { |
| 101 return new HttpNetworkSession(session_deps->host_resolver.get(), | 104 return new HttpNetworkSession(session_deps->host_resolver.get(), |
| 105 session_deps->cert_verifier.get(), |
| 102 NULL /* dnsrr_resolver */, | 106 NULL /* dnsrr_resolver */, |
| 103 NULL /* dns_cert_checker */, | 107 NULL /* dns_cert_checker */, |
| 104 NULL /* ssl_host_info_factory */, | 108 NULL /* ssl_host_info_factory */, |
| 105 session_deps->proxy_service, | 109 session_deps->proxy_service, |
| 106 &session_deps->socket_factory, | 110 &session_deps->socket_factory, |
| 107 session_deps->ssl_config_service, | 111 session_deps->ssl_config_service, |
| 108 new SpdySessionPool(NULL), | 112 new SpdySessionPool(NULL), |
| 109 session_deps->http_auth_handler_factory.get(), | 113 session_deps->http_auth_handler_factory.get(), |
| 110 NULL, | 114 NULL, |
| 111 session_deps->net_log); | 115 session_deps->net_log); |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 | 307 |
| 304 template<> | 308 template<> |
| 305 CaptureGroupNameHttpProxySocketPool::CaptureGroupNameSocketPool( | 309 CaptureGroupNameHttpProxySocketPool::CaptureGroupNameSocketPool( |
| 306 HttpNetworkSession* session) | 310 HttpNetworkSession* session) |
| 307 : HttpProxyClientSocketPool(0, 0, NULL, session->host_resolver(), NULL, | 311 : HttpProxyClientSocketPool(0, 0, NULL, session->host_resolver(), NULL, |
| 308 NULL, NULL) {} | 312 NULL, NULL) {} |
| 309 | 313 |
| 310 template<> | 314 template<> |
| 311 CaptureGroupNameSSLSocketPool::CaptureGroupNameSocketPool( | 315 CaptureGroupNameSSLSocketPool::CaptureGroupNameSocketPool( |
| 312 HttpNetworkSession* session) | 316 HttpNetworkSession* session) |
| 313 : SSLClientSocketPool(0, 0, NULL, session->host_resolver(), NULL, NULL, | 317 : SSLClientSocketPool(0, 0, NULL, session->host_resolver(), |
| 318 session->cert_verifier(), NULL, NULL, |
| 314 NULL, NULL, NULL, NULL, NULL, NULL, NULL) {} | 319 NULL, NULL, NULL, NULL, NULL, NULL, NULL) {} |
| 315 | 320 |
| 316 //----------------------------------------------------------------------------- | 321 //----------------------------------------------------------------------------- |
| 317 | 322 |
| 318 // This is the expected list of advertised protocols from the browser's NPN | 323 // This is the expected list of advertised protocols from the browser's NPN |
| 319 // list. | 324 // list. |
| 320 static const char kExpectedNPNString[] = "\x08http/1.1\x06spdy/2"; | 325 static const char kExpectedNPNString[] = "\x08http/1.1\x06spdy/2"; |
| 321 | 326 |
| 322 // This is the expected return from a current server advertising SPDY. | 327 // This is the expected return from a current server advertising SPDY. |
| 323 static const char kAlternateProtocolHttpHeader[] = | 328 static const char kAlternateProtocolHttpHeader[] = |
| (...skipping 6348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6672 EXPECT_EQ(ERR_IO_PENDING, | 6677 EXPECT_EQ(ERR_IO_PENDING, |
| 6673 connection->Init(host_port_pair.ToString(),tcp_params, LOWEST, | 6678 connection->Init(host_port_pair.ToString(),tcp_params, LOWEST, |
| 6674 &callback, session->tcp_socket_pool(), | 6679 &callback, session->tcp_socket_pool(), |
| 6675 BoundNetLog())); | 6680 BoundNetLog())); |
| 6676 EXPECT_EQ(OK, callback.WaitForResult()); | 6681 EXPECT_EQ(OK, callback.WaitForResult()); |
| 6677 | 6682 |
| 6678 SSLConfig ssl_config; | 6683 SSLConfig ssl_config; |
| 6679 session->ssl_config_service()->GetSSLConfig(&ssl_config); | 6684 session->ssl_config_service()->GetSSLConfig(&ssl_config); |
| 6680 ClientSocket* socket = connection->release_socket(); | 6685 ClientSocket* socket = connection->release_socket(); |
| 6681 socket = session->socket_factory()->CreateSSLClientSocket( | 6686 socket = session->socket_factory()->CreateSSLClientSocket( |
| 6682 socket, HostPortPair("" , 443), ssl_config, NULL /* ssl_host_info */); | 6687 socket, HostPortPair("" , 443), ssl_config, NULL /* ssl_host_info */, |
| 6688 session->cert_verifier()); |
| 6683 connection->set_socket(socket); | 6689 connection->set_socket(socket); |
| 6684 EXPECT_EQ(ERR_IO_PENDING, socket->Connect(&callback)); | 6690 EXPECT_EQ(ERR_IO_PENDING, socket->Connect(&callback)); |
| 6685 EXPECT_EQ(OK, callback.WaitForResult()); | 6691 EXPECT_EQ(OK, callback.WaitForResult()); |
| 6686 | 6692 |
| 6687 EXPECT_EQ(OK, spdy_session->InitializeWithSocket(connection.release(), | 6693 EXPECT_EQ(OK, spdy_session->InitializeWithSocket(connection.release(), |
| 6688 true, OK)); | 6694 true, OK)); |
| 6689 | 6695 |
| 6690 trans.reset(new HttpNetworkTransaction(session)); | 6696 trans.reset(new HttpNetworkTransaction(session)); |
| 6691 | 6697 |
| 6692 rv = trans->Start(&request, &callback, BoundNetLog()); | 6698 rv = trans->Start(&request, &callback, BoundNetLog()); |
| (...skipping 1265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7958 rv = callback.WaitForResult(); | 7964 rv = callback.WaitForResult(); |
| 7959 ASSERT_EQ(OK, rv); | 7965 ASSERT_EQ(OK, rv); |
| 7960 | 7966 |
| 7961 std::string contents; | 7967 std::string contents; |
| 7962 rv = ReadTransaction(trans.get(), &contents); | 7968 rv = ReadTransaction(trans.get(), &contents); |
| 7963 EXPECT_EQ(net::OK, rv); | 7969 EXPECT_EQ(net::OK, rv); |
| 7964 EXPECT_EQ("hello world", contents); | 7970 EXPECT_EQ("hello world", contents); |
| 7965 } | 7971 } |
| 7966 | 7972 |
| 7967 } // namespace net | 7973 } // namespace net |
| OLD | NEW |