| 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 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 858 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 869 | 869 |
| 870 // Set up QUIC as alternative_service. | 870 // Set up QUIC as alternative_service. |
| 871 HttpServerPropertiesImpl http_server_properties; | 871 HttpServerPropertiesImpl http_server_properties; |
| 872 const AlternativeService alternative_service(QUIC, url.host().c_str(), | 872 const AlternativeService alternative_service(QUIC, url.host().c_str(), |
| 873 url.IntPort()); | 873 url.IntPort()); |
| 874 AlternativeServiceInfoVector alternative_service_info_vector; | 874 AlternativeServiceInfoVector alternative_service_info_vector; |
| 875 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 875 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
| 876 alternative_service_info_vector.push_back( | 876 alternative_service_info_vector.push_back( |
| 877 AlternativeServiceInfo(alternative_service, expiration)); | 877 AlternativeServiceInfo(alternative_service, expiration)); |
| 878 HostPortPair host_port_pair(alternative_service.host_port_pair()); | 878 HostPortPair host_port_pair(alternative_service.host_port_pair()); |
| 879 url::SchemeHostPort server("https", host_port_pair.host(), |
| 880 host_port_pair.port()); |
| 879 http_server_properties.SetAlternativeServices( | 881 http_server_properties.SetAlternativeServices( |
| 880 host_port_pair, alternative_service_info_vector); | 882 server, alternative_service_info_vector); |
| 881 | 883 |
| 882 SpdySessionDependencies session_deps( | 884 SpdySessionDependencies session_deps( |
| 883 GetParam(), ProxyService::CreateFixed("http_proxy")); | 885 GetParam(), ProxyService::CreateFixed("http_proxy")); |
| 884 | 886 |
| 885 // Setup params to disable preconnect, but QUIC doesn't 0RTT. | 887 // Setup params to disable preconnect, but QUIC doesn't 0RTT. |
| 886 HttpNetworkSession::Params params = | 888 HttpNetworkSession::Params params = |
| 887 SpdySessionDependencies::CreateSessionParams(&session_deps); | 889 SpdySessionDependencies::CreateSessionParams(&session_deps); |
| 888 params.enable_quic = true; | 890 params.enable_quic = true; |
| 889 params.quic_disable_preconnect_if_0rtt = true; | 891 params.quic_disable_preconnect_if_0rtt = true; |
| 890 params.http_server_properties = http_server_properties.GetWeakPtr(); | 892 params.http_server_properties = http_server_properties.GetWeakPtr(); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 913 GURL url = GURL("https://www.google.com"); | 915 GURL url = GURL("https://www.google.com"); |
| 914 | 916 |
| 915 // Set up QUIC as alternative_service. | 917 // Set up QUIC as alternative_service. |
| 916 HttpServerPropertiesImpl http_server_properties; | 918 HttpServerPropertiesImpl http_server_properties; |
| 917 const AlternativeService alternative_service(QUIC, "www.google.com", 443); | 919 const AlternativeService alternative_service(QUIC, "www.google.com", 443); |
| 918 AlternativeServiceInfoVector alternative_service_info_vector; | 920 AlternativeServiceInfoVector alternative_service_info_vector; |
| 919 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 921 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
| 920 alternative_service_info_vector.push_back( | 922 alternative_service_info_vector.push_back( |
| 921 AlternativeServiceInfo(alternative_service, expiration)); | 923 AlternativeServiceInfo(alternative_service, expiration)); |
| 922 HostPortPair host_port_pair(alternative_service.host_port_pair()); | 924 HostPortPair host_port_pair(alternative_service.host_port_pair()); |
| 925 url::SchemeHostPort server("https", host_port_pair.host(), |
| 926 host_port_pair.port()); |
| 923 http_server_properties.SetAlternativeServices( | 927 http_server_properties.SetAlternativeServices( |
| 924 host_port_pair, alternative_service_info_vector); | 928 server, alternative_service_info_vector); |
| 925 | 929 |
| 926 SpdySessionDependencies session_deps(GetParam()); | 930 SpdySessionDependencies session_deps(GetParam()); |
| 927 | 931 |
| 928 // Setup params to disable preconnect, but QUIC does 0RTT. | 932 // Setup params to disable preconnect, but QUIC does 0RTT. |
| 929 HttpNetworkSession::Params params = | 933 HttpNetworkSession::Params params = |
| 930 SpdySessionDependencies::CreateSessionParams(&session_deps); | 934 SpdySessionDependencies::CreateSessionParams(&session_deps); |
| 931 params.enable_quic = true; | 935 params.enable_quic = true; |
| 932 params.quic_disable_preconnect_if_0rtt = true; | 936 params.quic_disable_preconnect_if_0rtt = true; |
| 933 params.http_server_properties = http_server_properties.GetWeakPtr(); | 937 params.http_server_properties = http_server_properties.GetWeakPtr(); |
| 934 | 938 |
| (...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1550 session_.reset(new HttpNetworkSession(params_)); | 1554 session_.reset(new HttpNetworkSession(params_)); |
| 1551 session_->quic_stream_factory()->set_require_confirmation(false); | 1555 session_->quic_stream_factory()->set_require_confirmation(false); |
| 1552 } | 1556 } |
| 1553 | 1557 |
| 1554 void AddQuicAlternativeService() { | 1558 void AddQuicAlternativeService() { |
| 1555 const AlternativeService alternative_service(QUIC, "www.example.org", 443); | 1559 const AlternativeService alternative_service(QUIC, "www.example.org", 443); |
| 1556 AlternativeServiceInfoVector alternative_service_info_vector; | 1560 AlternativeServiceInfoVector alternative_service_info_vector; |
| 1557 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 1561 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
| 1558 alternative_service_info_vector.push_back( | 1562 alternative_service_info_vector.push_back( |
| 1559 AlternativeServiceInfo(alternative_service, expiration)); | 1563 AlternativeServiceInfo(alternative_service, expiration)); |
| 1560 HostPortPair host_port_pair(alternative_service.host_port_pair()); | 1564 url::SchemeHostPort server("https", "www.example.org", 443); |
| 1561 http_server_properties_.SetAlternativeServices( | 1565 http_server_properties_.SetAlternativeServices( |
| 1562 host_port_pair, alternative_service_info_vector); | 1566 server, alternative_service_info_vector); |
| 1563 }; | 1567 }; |
| 1564 | 1568 |
| 1565 test::QuicTestPacketMaker& packet_maker() { return packet_maker_; } | 1569 test::QuicTestPacketMaker& packet_maker() { return packet_maker_; } |
| 1566 | 1570 |
| 1567 MockClientSocketFactory& socket_factory() { return socket_factory_; } | 1571 MockClientSocketFactory& socket_factory() { return socket_factory_; } |
| 1568 | 1572 |
| 1569 HttpNetworkSession* session() { return session_.get(); } | 1573 HttpNetworkSession* session() { return session_.get(); } |
| 1570 | 1574 |
| 1571 private: | 1575 private: |
| 1572 MockClock* clock_; // Owned by QuicStreamFactory | 1576 MockClock* clock_; // Owned by QuicStreamFactory |
| (...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1998 scoped_ptr<HttpNetworkSession> session( | 2002 scoped_ptr<HttpNetworkSession> session( |
| 1999 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 2003 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 2000 | 2004 |
| 2001 // Now request a stream. | 2005 // Now request a stream. |
| 2002 HttpRequestInfo request_info; | 2006 HttpRequestInfo request_info; |
| 2003 request_info.method = "GET"; | 2007 request_info.method = "GET"; |
| 2004 request_info.url = GURL("ws://www.google.com:8888"); | 2008 request_info.url = GURL("ws://www.google.com:8888"); |
| 2005 request_info.load_flags = 0; | 2009 request_info.load_flags = 0; |
| 2006 | 2010 |
| 2007 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 2011 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
| 2012 HostPortPair host_port_pair("www.google.com", 8888); |
| 2013 |
| 2008 session->http_server_properties()->SetAlternativeService( | 2014 session->http_server_properties()->SetAlternativeService( |
| 2009 HostPortPair("www.google.com", 8888), | 2015 url::SchemeHostPort(request_info.url.scheme(), host_port_pair.host(), |
| 2016 host_port_pair.port()), |
| 2010 AlternativeService(NPN_HTTP_2, "www.google.com", 9999), expiration); | 2017 AlternativeService(NPN_HTTP_2, "www.google.com", 9999), expiration); |
| 2011 | 2018 |
| 2012 SSLConfig ssl_config; | 2019 SSLConfig ssl_config; |
| 2013 StreamRequestWaiter waiter; | 2020 StreamRequestWaiter waiter; |
| 2014 WebSocketStreamCreateHelper create_helper; | 2021 WebSocketStreamCreateHelper create_helper; |
| 2015 scoped_ptr<HttpStreamRequest> request( | 2022 scoped_ptr<HttpStreamRequest> request( |
| 2016 session->http_stream_factory_for_websocket() | 2023 session->http_stream_factory_for_websocket() |
| 2017 ->RequestWebSocketHandshakeStream(request_info, | 2024 ->RequestWebSocketHandshakeStream(request_info, |
| 2018 DEFAULT_PRIORITY, | 2025 DEFAULT_PRIORITY, |
| 2019 ssl_config, | 2026 ssl_config, |
| (...skipping 22 matching lines...) Expand all Loading... |
| 2042 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 2049 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
| 2043 | 2050 |
| 2044 // Make sure there is no orphaned job. it is already canceled. | 2051 // Make sure there is no orphaned job. it is already canceled. |
| 2045 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( | 2052 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( |
| 2046 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); | 2053 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); |
| 2047 } | 2054 } |
| 2048 | 2055 |
| 2049 } // namespace | 2056 } // namespace |
| 2050 | 2057 |
| 2051 } // namespace net | 2058 } // namespace net |
| OLD | NEW |