| 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 | 10 |
| (...skipping 10093 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10104 | 10104 |
| 10105 std::string response_data; | 10105 std::string response_data; |
| 10106 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); | 10106 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); |
| 10107 EXPECT_EQ("hello world", response_data); | 10107 EXPECT_EQ("hello world", response_data); |
| 10108 | 10108 |
| 10109 AlternativeServiceInfoVector alternative_service_info_vector = | 10109 AlternativeServiceInfoVector alternative_service_info_vector = |
| 10110 http_server_properties->GetAlternativeServiceInfos(test_server); | 10110 http_server_properties->GetAlternativeServiceInfos(test_server); |
| 10111 ASSERT_EQ(1u, alternative_service_info_vector.size()); | 10111 ASSERT_EQ(1u, alternative_service_info_vector.size()); |
| 10112 AlternativeService alternative_service(kProtoHTTP2, "mail.example.org", 443); | 10112 AlternativeService alternative_service(kProtoHTTP2, "mail.example.org", 443); |
| 10113 EXPECT_EQ(alternative_service, | 10113 EXPECT_EQ(alternative_service, |
| 10114 alternative_service_info_vector[0].alternative_service); | 10114 alternative_service_info_vector[0].alternative_service()); |
| 10115 } | 10115 } |
| 10116 | 10116 |
| 10117 // Regression test for https://crbug.com/615497. | 10117 // Regression test for https://crbug.com/615497. |
| 10118 TEST_F(HttpNetworkTransactionTest, | 10118 TEST_F(HttpNetworkTransactionTest, |
| 10119 DoNotParseAlternativeServiceHeaderOnInsecureRequest) { | 10119 DoNotParseAlternativeServiceHeaderOnInsecureRequest) { |
| 10120 MockRead data_reads[] = { | 10120 MockRead data_reads[] = { |
| 10121 MockRead("HTTP/1.1 200 OK\r\n"), | 10121 MockRead("HTTP/1.1 200 OK\r\n"), |
| 10122 MockRead(kAlternativeServiceHttpHeader), | 10122 MockRead(kAlternativeServiceHttpHeader), |
| 10123 MockRead("\r\n"), | 10123 MockRead("\r\n"), |
| 10124 MockRead("hello world"), | 10124 MockRead("hello world"), |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10346 std::string response_data; | 10346 std::string response_data; |
| 10347 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); | 10347 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); |
| 10348 EXPECT_EQ("hello world", response_data); | 10348 EXPECT_EQ("hello world", response_data); |
| 10349 | 10349 |
| 10350 AlternativeServiceInfoVector alternative_service_info_vector = | 10350 AlternativeServiceInfoVector alternative_service_info_vector = |
| 10351 http_server_properties->GetAlternativeServiceInfos(test_server); | 10351 http_server_properties->GetAlternativeServiceInfos(test_server); |
| 10352 ASSERT_EQ(2u, alternative_service_info_vector.size()); | 10352 ASSERT_EQ(2u, alternative_service_info_vector.size()); |
| 10353 | 10353 |
| 10354 AlternativeService alternative_service(kProtoHTTP2, "www.example.com", 443); | 10354 AlternativeService alternative_service(kProtoHTTP2, "www.example.com", 443); |
| 10355 EXPECT_EQ(alternative_service, | 10355 EXPECT_EQ(alternative_service, |
| 10356 alternative_service_info_vector[0].alternative_service); | 10356 alternative_service_info_vector[0].alternative_service()); |
| 10357 AlternativeService alternative_service_2(kProtoHTTP2, "www.example.org", | 10357 AlternativeService alternative_service_2(kProtoHTTP2, "www.example.org", |
| 10358 1234); | 10358 1234); |
| 10359 EXPECT_EQ(alternative_service_2, | 10359 EXPECT_EQ(alternative_service_2, |
| 10360 alternative_service_info_vector[1].alternative_service); | 10360 alternative_service_info_vector[1].alternative_service()); |
| 10361 } | 10361 } |
| 10362 | 10362 |
| 10363 TEST_F(HttpNetworkTransactionTest, IdentifyQuicBroken) { | 10363 TEST_F(HttpNetworkTransactionTest, IdentifyQuicBroken) { |
| 10364 url::SchemeHostPort server("https", "origin.example.org", 443); | 10364 url::SchemeHostPort server("https", "origin.example.org", 443); |
| 10365 HostPortPair alternative("alternative.example.org", 443); | 10365 HostPortPair alternative("alternative.example.org", 443); |
| 10366 std::string origin_url = "https://origin.example.org:443"; | 10366 std::string origin_url = "https://origin.example.org:443"; |
| 10367 std::string alternative_url = "https://alternative.example.org:443"; | 10367 std::string alternative_url = "https://alternative.example.org:443"; |
| 10368 | 10368 |
| 10369 // Negotiate HTTP/1.1 with alternative.example.org. | 10369 // Negotiate HTTP/1.1 with alternative.example.org. |
| 10370 SSLSocketDataProvider ssl(ASYNC, OK); | 10370 SSLSocketDataProvider ssl(ASYNC, OK); |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10537 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); | 10537 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); |
| 10538 | 10538 |
| 10539 std::string response_data; | 10539 std::string response_data; |
| 10540 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); | 10540 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); |
| 10541 EXPECT_EQ("hello world", response_data); | 10541 EXPECT_EQ("hello world", response_data); |
| 10542 | 10542 |
| 10543 const AlternativeServiceInfoVector alternative_service_info_vector = | 10543 const AlternativeServiceInfoVector alternative_service_info_vector = |
| 10544 http_server_properties->GetAlternativeServiceInfos(server); | 10544 http_server_properties->GetAlternativeServiceInfos(server); |
| 10545 ASSERT_EQ(1u, alternative_service_info_vector.size()); | 10545 ASSERT_EQ(1u, alternative_service_info_vector.size()); |
| 10546 EXPECT_EQ(alternative_service, | 10546 EXPECT_EQ(alternative_service, |
| 10547 alternative_service_info_vector[0].alternative_service); | 10547 alternative_service_info_vector[0].alternative_service()); |
| 10548 EXPECT_TRUE( | 10548 EXPECT_TRUE( |
| 10549 http_server_properties->IsAlternativeServiceBroken(alternative_service)); | 10549 http_server_properties->IsAlternativeServiceBroken(alternative_service)); |
| 10550 } | 10550 } |
| 10551 | 10551 |
| 10552 // Ensure that we are not allowed to redirect traffic via an alternate protocol | 10552 // Ensure that we are not allowed to redirect traffic via an alternate protocol |
| 10553 // to an unrestricted (port >= 1024) when the original traffic was on a | 10553 // to an unrestricted (port >= 1024) when the original traffic was on a |
| 10554 // restricted port (port < 1024). Ensure that we can redirect in all other | 10554 // restricted port (port < 1024). Ensure that we can redirect in all other |
| 10555 // cases. | 10555 // cases. |
| 10556 TEST_F(HttpNetworkTransactionTest, AlternateProtocolPortRestrictedBlocked) { | 10556 TEST_F(HttpNetworkTransactionTest, AlternateProtocolPortRestrictedBlocked) { |
| 10557 HttpRequestInfo restricted_port_request; | 10557 HttpRequestInfo restricted_port_request; |
| (...skipping 6354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16912 | 16912 |
| 16913 TestCompletionCallback callback; | 16913 TestCompletionCallback callback; |
| 16914 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 16914 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
| 16915 int rv = trans.Start(&request, callback.callback(), NetLogWithSource()); | 16915 int rv = trans.Start(&request, callback.callback(), NetLogWithSource()); |
| 16916 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); | 16916 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); |
| 16917 | 16917 |
| 16918 EXPECT_THAT(callback.WaitForResult(), IsError(ERR_NO_SUPPORTED_PROXIES)); | 16918 EXPECT_THAT(callback.WaitForResult(), IsError(ERR_NO_SUPPORTED_PROXIES)); |
| 16919 } | 16919 } |
| 16920 | 16920 |
| 16921 } // namespace net | 16921 } // namespace net |
| OLD | NEW |