OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_stream_factory_impl.h" | 5 #include "net/http/http_stream_factory_impl.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1102 } | 1102 } |
1103 } | 1103 } |
1104 } | 1104 } |
1105 | 1105 |
1106 TEST_F(HttpStreamFactoryTest, UsePreConnectIfNoZeroRTT) { | 1106 TEST_F(HttpStreamFactoryTest, UsePreConnectIfNoZeroRTT) { |
1107 for (int num_streams = 1; num_streams < 3; ++num_streams) { | 1107 for (int num_streams = 1; num_streams < 3; ++num_streams) { |
1108 GURL url = GURL("https://www.google.com"); | 1108 GURL url = GURL("https://www.google.com"); |
1109 | 1109 |
1110 // Set up QUIC as alternative_service. | 1110 // Set up QUIC as alternative_service. |
1111 HttpServerPropertiesImpl http_server_properties; | 1111 HttpServerPropertiesImpl http_server_properties; |
1112 const AlternativeService alternative_service(kProtoQUIC, url.host().c_str(), | 1112 const AlternativeService alternative_service(QUIC, url.host().c_str(), |
1113 url.IntPort()); | 1113 url.IntPort()); |
1114 AlternativeServiceInfoVector alternative_service_info_vector; | 1114 AlternativeServiceInfoVector alternative_service_info_vector; |
1115 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 1115 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
1116 alternative_service_info_vector.push_back( | 1116 alternative_service_info_vector.push_back( |
1117 AlternativeServiceInfo(alternative_service, expiration)); | 1117 AlternativeServiceInfo(alternative_service, expiration)); |
1118 HostPortPair host_port_pair(alternative_service.host_port_pair()); | 1118 HostPortPair host_port_pair(alternative_service.host_port_pair()); |
1119 url::SchemeHostPort server("https", host_port_pair.host(), | 1119 url::SchemeHostPort server("https", host_port_pair.host(), |
1120 host_port_pair.port()); | 1120 host_port_pair.port()); |
1121 http_server_properties.SetAlternativeServices( | 1121 http_server_properties.SetAlternativeServices( |
1122 server, alternative_service_info_vector); | 1122 server, alternative_service_info_vector); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1157 EXPECT_EQ(num_streams, ssl_conn_pool->last_num_streams()); | 1157 EXPECT_EQ(num_streams, ssl_conn_pool->last_num_streams()); |
1158 } | 1158 } |
1159 } | 1159 } |
1160 | 1160 |
1161 TEST_F(HttpStreamFactoryTest, QuicDisablePreConnectIfZeroRtt) { | 1161 TEST_F(HttpStreamFactoryTest, QuicDisablePreConnectIfZeroRtt) { |
1162 for (int num_streams = 1; num_streams < 3; ++num_streams) { | 1162 for (int num_streams = 1; num_streams < 3; ++num_streams) { |
1163 GURL url = GURL("https://www.google.com"); | 1163 GURL url = GURL("https://www.google.com"); |
1164 | 1164 |
1165 // Set up QUIC as alternative_service. | 1165 // Set up QUIC as alternative_service. |
1166 HttpServerPropertiesImpl http_server_properties; | 1166 HttpServerPropertiesImpl http_server_properties; |
1167 const AlternativeService alternative_service(kProtoQUIC, "www.google.com", | 1167 const AlternativeService alternative_service(QUIC, "www.google.com", 443); |
1168 443); | |
1169 AlternativeServiceInfoVector alternative_service_info_vector; | 1168 AlternativeServiceInfoVector alternative_service_info_vector; |
1170 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 1169 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
1171 alternative_service_info_vector.push_back( | 1170 alternative_service_info_vector.push_back( |
1172 AlternativeServiceInfo(alternative_service, expiration)); | 1171 AlternativeServiceInfo(alternative_service, expiration)); |
1173 HostPortPair host_port_pair(alternative_service.host_port_pair()); | 1172 HostPortPair host_port_pair(alternative_service.host_port_pair()); |
1174 url::SchemeHostPort server("https", host_port_pair.host(), | 1173 url::SchemeHostPort server("https", host_port_pair.host(), |
1175 host_port_pair.port()); | 1174 host_port_pair.port()); |
1176 http_server_properties.SetAlternativeServices( | 1175 http_server_properties.SetAlternativeServices( |
1177 server, alternative_service_info_vector); | 1176 server, alternative_service_info_vector); |
1178 | 1177 |
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1788 params_.ct_policy_enforcer = &ct_policy_enforcer_; | 1787 params_.ct_policy_enforcer = &ct_policy_enforcer_; |
1789 params_.host_resolver = &host_resolver_; | 1788 params_.host_resolver = &host_resolver_; |
1790 params_.proxy_service = proxy_service_.get(); | 1789 params_.proxy_service = proxy_service_.get(); |
1791 params_.ssl_config_service = ssl_config_service_.get(); | 1790 params_.ssl_config_service = ssl_config_service_.get(); |
1792 params_.client_socket_factory = &socket_factory_; | 1791 params_.client_socket_factory = &socket_factory_; |
1793 session_.reset(new HttpNetworkSession(params_)); | 1792 session_.reset(new HttpNetworkSession(params_)); |
1794 session_->quic_stream_factory()->set_require_confirmation(false); | 1793 session_->quic_stream_factory()->set_require_confirmation(false); |
1795 } | 1794 } |
1796 | 1795 |
1797 void AddQuicAlternativeService() { | 1796 void AddQuicAlternativeService() { |
1798 const AlternativeService alternative_service(kProtoQUIC, "www.example.org", | 1797 const AlternativeService alternative_service(QUIC, "www.example.org", 443); |
1799 443); | |
1800 AlternativeServiceInfoVector alternative_service_info_vector; | 1798 AlternativeServiceInfoVector alternative_service_info_vector; |
1801 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 1799 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
1802 alternative_service_info_vector.push_back( | 1800 alternative_service_info_vector.push_back( |
1803 AlternativeServiceInfo(alternative_service, expiration)); | 1801 AlternativeServiceInfo(alternative_service, expiration)); |
1804 http_server_properties_.SetAlternativeServices( | 1802 http_server_properties_.SetAlternativeServices( |
1805 url::SchemeHostPort(default_url_), alternative_service_info_vector); | 1803 url::SchemeHostPort(default_url_), alternative_service_info_vector); |
1806 }; | 1804 }; |
1807 | 1805 |
1808 test::QuicTestPacketMaker& client_packet_maker() { | 1806 test::QuicTestPacketMaker& client_packet_maker() { |
1809 return client_packet_maker_; | 1807 return client_packet_maker_; |
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2233 request_info.method = "GET"; | 2231 request_info.method = "GET"; |
2234 request_info.url = GURL("ws://www.google.com:8888"); | 2232 request_info.url = GURL("ws://www.google.com:8888"); |
2235 request_info.load_flags = 0; | 2233 request_info.load_flags = 0; |
2236 | 2234 |
2237 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 2235 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
2238 HostPortPair host_port_pair("www.google.com", 8888); | 2236 HostPortPair host_port_pair("www.google.com", 8888); |
2239 | 2237 |
2240 session->http_server_properties()->SetAlternativeService( | 2238 session->http_server_properties()->SetAlternativeService( |
2241 url::SchemeHostPort(request_info.url.scheme(), host_port_pair.host(), | 2239 url::SchemeHostPort(request_info.url.scheme(), host_port_pair.host(), |
2242 host_port_pair.port()), | 2240 host_port_pair.port()), |
2243 AlternativeService(kProtoHTTP2, "www.google.com", 9999), expiration); | 2241 AlternativeService(NPN_HTTP_2, "www.google.com", 9999), expiration); |
2244 | 2242 |
2245 SSLConfig ssl_config; | 2243 SSLConfig ssl_config; |
2246 StreamRequestWaiter waiter; | 2244 StreamRequestWaiter waiter; |
2247 WebSocketStreamCreateHelper create_helper; | 2245 WebSocketStreamCreateHelper create_helper; |
2248 std::unique_ptr<HttpStreamRequest> request( | 2246 std::unique_ptr<HttpStreamRequest> request( |
2249 session->http_stream_factory_for_websocket() | 2247 session->http_stream_factory_for_websocket() |
2250 ->RequestWebSocketHandshakeStream( | 2248 ->RequestWebSocketHandshakeStream( |
2251 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 2249 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
2252 &create_helper, NetLogWithSource())); | 2250 &create_helper, NetLogWithSource())); |
2253 waiter.WaitForStream(); | 2251 waiter.WaitForStream(); |
(...skipping 13 matching lines...) Expand all Loading... |
2267 session->GetTransportSocketPool( | 2265 session->GetTransportSocketPool( |
2268 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2266 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
2269 EXPECT_EQ(1, GetSocketPoolGroupCount( | 2267 EXPECT_EQ(1, GetSocketPoolGroupCount( |
2270 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2268 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
2271 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 2269 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
2272 } | 2270 } |
2273 | 2271 |
2274 } // namespace | 2272 } // namespace |
2275 | 2273 |
2276 } // namespace net | 2274 } // namespace net |
OLD | NEW |