OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stdarg.h> | 8 #include <stdarg.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 #include <limits> | 10 #include <limits> |
(...skipping 12896 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
12907 spdy_util_.ConstructSpdyBodyFrame(3, true)); | 12907 spdy_util_.ConstructSpdyBodyFrame(3, true)); |
12908 MockRead spdy_reads[] = { | 12908 MockRead spdy_reads[] = { |
12909 CreateMockRead(*host1_resp, 1), | 12909 CreateMockRead(*host1_resp, 1), |
12910 CreateMockRead(*host1_resp_body, 2), | 12910 CreateMockRead(*host1_resp_body, 2), |
12911 CreateMockRead(*host2_resp, 4), | 12911 CreateMockRead(*host2_resp, 4), |
12912 CreateMockRead(*host2_resp_body, 5), | 12912 CreateMockRead(*host2_resp_body, 5), |
12913 MockRead(ASYNC, 0, 6), | 12913 MockRead(ASYNC, 0, 6), |
12914 }; | 12914 }; |
12915 | 12915 |
12916 IPAddress ip; | 12916 IPAddress ip; |
12917 ASSERT_TRUE(IPAddress::FromIPLiteral("127.0.0.1", &ip)); | 12917 ASSERT_TRUE(ip.AssignFromIPLiteral("127.0.0.1")); |
12918 IPEndPoint peer_addr = IPEndPoint(ip, 443); | 12918 IPEndPoint peer_addr = IPEndPoint(ip, 443); |
12919 MockConnect connect(ASYNC, OK, peer_addr); | 12919 MockConnect connect(ASYNC, OK, peer_addr); |
12920 SequencedSocketData spdy_data(connect, spdy_reads, arraysize(spdy_reads), | 12920 SequencedSocketData spdy_data(connect, spdy_reads, arraysize(spdy_reads), |
12921 spdy_writes, arraysize(spdy_writes)); | 12921 spdy_writes, arraysize(spdy_writes)); |
12922 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); | 12922 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); |
12923 | 12923 |
12924 TestCompletionCallback callback; | 12924 TestCompletionCallback callback; |
12925 HttpRequestInfo request1; | 12925 HttpRequestInfo request1; |
12926 request1.method = "GET"; | 12926 request1.method = "GET"; |
12927 request1.url = GURL("https://www.example.org/"); | 12927 request1.url = GURL("https://www.example.org/"); |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13007 spdy_util_.ConstructSpdyBodyFrame(3, true)); | 13007 spdy_util_.ConstructSpdyBodyFrame(3, true)); |
13008 MockRead spdy_reads[] = { | 13008 MockRead spdy_reads[] = { |
13009 CreateMockRead(*host1_resp, 1), | 13009 CreateMockRead(*host1_resp, 1), |
13010 CreateMockRead(*host1_resp_body, 2), | 13010 CreateMockRead(*host1_resp_body, 2), |
13011 CreateMockRead(*host2_resp, 4), | 13011 CreateMockRead(*host2_resp, 4), |
13012 CreateMockRead(*host2_resp_body, 5), | 13012 CreateMockRead(*host2_resp_body, 5), |
13013 MockRead(ASYNC, 0, 6), | 13013 MockRead(ASYNC, 0, 6), |
13014 }; | 13014 }; |
13015 | 13015 |
13016 IPAddress ip; | 13016 IPAddress ip; |
13017 ASSERT_TRUE(IPAddress::FromIPLiteral("127.0.0.1", &ip)); | 13017 ASSERT_TRUE(ip.AssignFromIPLiteral("127.0.0.1")); |
13018 IPEndPoint peer_addr = IPEndPoint(ip, 443); | 13018 IPEndPoint peer_addr = IPEndPoint(ip, 443); |
13019 MockConnect connect(ASYNC, OK, peer_addr); | 13019 MockConnect connect(ASYNC, OK, peer_addr); |
13020 SequencedSocketData spdy_data(connect, spdy_reads, arraysize(spdy_reads), | 13020 SequencedSocketData spdy_data(connect, spdy_reads, arraysize(spdy_reads), |
13021 spdy_writes, arraysize(spdy_writes)); | 13021 spdy_writes, arraysize(spdy_writes)); |
13022 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); | 13022 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); |
13023 | 13023 |
13024 TestCompletionCallback callback; | 13024 TestCompletionCallback callback; |
13025 HttpRequestInfo request1; | 13025 HttpRequestInfo request1; |
13026 request1.method = "GET"; | 13026 request1.method = "GET"; |
13027 request1.url = GURL("https://www.example.org/"); | 13027 request1.url = GURL("https://www.example.org/"); |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13138 spdy_util_.ConstructSpdyBodyFrame(3, true)); | 13138 spdy_util_.ConstructSpdyBodyFrame(3, true)); |
13139 MockRead spdy_reads[] = { | 13139 MockRead spdy_reads[] = { |
13140 CreateMockRead(*host1_resp, 1), | 13140 CreateMockRead(*host1_resp, 1), |
13141 CreateMockRead(*host1_resp_body, 2), | 13141 CreateMockRead(*host1_resp_body, 2), |
13142 CreateMockRead(*host2_resp, 4), | 13142 CreateMockRead(*host2_resp, 4), |
13143 CreateMockRead(*host2_resp_body, 5), | 13143 CreateMockRead(*host2_resp_body, 5), |
13144 MockRead(ASYNC, 0, 6), | 13144 MockRead(ASYNC, 0, 6), |
13145 }; | 13145 }; |
13146 | 13146 |
13147 IPAddress ip; | 13147 IPAddress ip; |
13148 ASSERT_TRUE(IPAddress::FromIPLiteral("127.0.0.1", &ip)); | 13148 ASSERT_TRUE(ip.AssignFromIPLiteral("127.0.0.1")); |
13149 IPEndPoint peer_addr = IPEndPoint(ip, 443); | 13149 IPEndPoint peer_addr = IPEndPoint(ip, 443); |
13150 MockConnect connect(ASYNC, OK, peer_addr); | 13150 MockConnect connect(ASYNC, OK, peer_addr); |
13151 SequencedSocketData spdy_data(connect, spdy_reads, arraysize(spdy_reads), | 13151 SequencedSocketData spdy_data(connect, spdy_reads, arraysize(spdy_reads), |
13152 spdy_writes, arraysize(spdy_writes)); | 13152 spdy_writes, arraysize(spdy_writes)); |
13153 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); | 13153 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); |
13154 | 13154 |
13155 TestCompletionCallback callback; | 13155 TestCompletionCallback callback; |
13156 HttpRequestInfo request1; | 13156 HttpRequestInfo request1; |
13157 request1.method = "GET"; | 13157 request1.method = "GET"; |
13158 request1.url = GURL("https://www.example.org/"); | 13158 request1.url = GURL("https://www.example.org/"); |
(...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13865 scoped_ptr<SpdyFrame> resp1(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); | 13865 scoped_ptr<SpdyFrame> resp1(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); |
13866 scoped_ptr<SpdyFrame> body1(spdy_util_.ConstructSpdyBodyFrame(1, true)); | 13866 scoped_ptr<SpdyFrame> body1(spdy_util_.ConstructSpdyBodyFrame(1, true)); |
13867 MockRead reads1[] = { | 13867 MockRead reads1[] = { |
13868 MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(*resp1, 2), | 13868 MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(*resp1, 2), |
13869 CreateMockRead(*body1, 3), MockRead(ASYNC, OK, 4), // EOF | 13869 CreateMockRead(*body1, 3), MockRead(ASYNC, OK, 4), // EOF |
13870 }; | 13870 }; |
13871 | 13871 |
13872 SequencedSocketData data1(reads1, arraysize(reads1), writes1, | 13872 SequencedSocketData data1(reads1, arraysize(reads1), writes1, |
13873 arraysize(writes1)); | 13873 arraysize(writes1)); |
13874 IPAddress ip; | 13874 IPAddress ip; |
13875 ASSERT_TRUE(IPAddress::FromIPLiteral(ip_addr, &ip)); | 13875 ASSERT_TRUE(ip.AssignFromIPLiteral(ip_addr)); |
13876 IPEndPoint peer_addr = IPEndPoint(ip, 443); | 13876 IPEndPoint peer_addr = IPEndPoint(ip, 443); |
13877 MockConnect connect_data1(ASYNC, OK, peer_addr); | 13877 MockConnect connect_data1(ASYNC, OK, peer_addr); |
13878 data1.set_connect_data(connect_data1); | 13878 data1.set_connect_data(connect_data1); |
13879 | 13879 |
13880 // SPDY GET for HTTPS URL (direct) | 13880 // SPDY GET for HTTPS URL (direct) |
13881 scoped_ptr<SpdyFrame> req2( | 13881 scoped_ptr<SpdyFrame> req2( |
13882 spdy_util_secure.ConstructSpdyGet(url2.c_str(), false, 1, MEDIUM)); | 13882 spdy_util_secure.ConstructSpdyGet(url2.c_str(), false, 1, MEDIUM)); |
13883 | 13883 |
13884 MockWrite writes2[] = { | 13884 MockWrite writes2[] = { |
13885 CreateMockWrite(*req2, 0), | 13885 CreateMockWrite(*req2, 0), |
(...skipping 2072 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15958 base::MessageLoop::current()->RunUntilIdle(); | 15958 base::MessageLoop::current()->RunUntilIdle(); |
15959 | 15959 |
15960 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy); | 15960 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy); |
15961 HttpRequestHeaders headers; | 15961 HttpRequestHeaders headers; |
15962 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers)); | 15962 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers)); |
15963 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding)); | 15963 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding)); |
15964 } | 15964 } |
15965 #endif // !defined(OS_IOS) | 15965 #endif // !defined(OS_IOS) |
15966 | 15966 |
15967 } // namespace net | 15967 } // namespace net |
OLD | NEW |