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 1178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1189 std::string response_data; | 1189 std::string response_data; |
1190 rv = ReadTransaction(&trans, &response_data); | 1190 rv = ReadTransaction(&trans, &response_data); |
1191 EXPECT_THAT(rv, IsOk()); | 1191 EXPECT_THAT(rv, IsOk()); |
1192 EXPECT_EQ(kExpectedResponseData[i], response_data); | 1192 EXPECT_EQ(kExpectedResponseData[i], response_data); |
1193 } | 1193 } |
1194 } | 1194 } |
1195 | 1195 |
1196 TEST_F(HttpNetworkTransactionTest, Ignores100) { | 1196 TEST_F(HttpNetworkTransactionTest, Ignores100) { |
1197 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 1197 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
1198 element_readers.push_back( | 1198 element_readers.push_back( |
1199 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 1199 base::MakeUnique<UploadBytesElementReader>("foo", 3)); |
1200 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 1200 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
1201 | 1201 |
1202 HttpRequestInfo request; | 1202 HttpRequestInfo request; |
1203 request.method = "POST"; | 1203 request.method = "POST"; |
1204 request.url = GURL("http://www.foo.com/"); | 1204 request.url = GURL("http://www.foo.com/"); |
1205 request.upload_data_stream = &upload_data_stream; | 1205 request.upload_data_stream = &upload_data_stream; |
1206 request.load_flags = 0; | 1206 request.load_flags = 0; |
1207 | 1207 |
1208 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 1208 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
1209 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 1209 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
(...skipping 5217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6427 // added to the connection pool asynchronously with a PostTask. | 6427 // added to the connection pool asynchronously with a PostTask. |
6428 base::RunLoop().RunUntilIdle(); | 6428 base::RunLoop().RunUntilIdle(); |
6429 | 6429 |
6430 // We now check to make sure the socket was added back to the pool. | 6430 // We now check to make sure the socket was added back to the pool. |
6431 EXPECT_EQ(1, GetIdleSocketCountInTransportSocketPool(session.get())); | 6431 EXPECT_EQ(1, GetIdleSocketCountInTransportSocketPool(session.get())); |
6432 } | 6432 } |
6433 | 6433 |
6434 TEST_F(HttpNetworkTransactionTest, ResendRequestOnWriteBodyError) { | 6434 TEST_F(HttpNetworkTransactionTest, ResendRequestOnWriteBodyError) { |
6435 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 6435 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
6436 element_readers.push_back( | 6436 element_readers.push_back( |
6437 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 6437 base::MakeUnique<UploadBytesElementReader>("foo", 3)); |
6438 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 6438 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
6439 | 6439 |
6440 HttpRequestInfo request[2]; | 6440 HttpRequestInfo request[2]; |
6441 // Transaction 1: a GET request that succeeds. The socket is recycled | 6441 // Transaction 1: a GET request that succeeds. The socket is recycled |
6442 // after use. | 6442 // after use. |
6443 request[0].method = "GET"; | 6443 request[0].method = "GET"; |
6444 request[0].url = GURL("http://www.google.com/"); | 6444 request[0].url = GURL("http://www.google.com/"); |
6445 request[0].load_flags = 0; | 6445 request[0].load_flags = 0; |
6446 // Transaction 2: a POST request. Reuses the socket kept alive from | 6446 // Transaction 2: a POST request. Reuses the socket kept alive from |
6447 // transaction 1. The first attempts fails when writing the POST data. | 6447 // transaction 1. The first attempts fails when writing the POST data. |
(...skipping 3094 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9542 } | 9542 } |
9543 | 9543 |
9544 TEST_F(HttpNetworkTransactionTest, UploadFileSmallerThanLength) { | 9544 TEST_F(HttpNetworkTransactionTest, UploadFileSmallerThanLength) { |
9545 base::FilePath temp_file_path; | 9545 base::FilePath temp_file_path; |
9546 ASSERT_TRUE(base::CreateTemporaryFile(&temp_file_path)); | 9546 ASSERT_TRUE(base::CreateTemporaryFile(&temp_file_path)); |
9547 const uint64_t kFakeSize = 100000; // file is actually blank | 9547 const uint64_t kFakeSize = 100000; // file is actually blank |
9548 UploadFileElementReader::ScopedOverridingContentLengthForTests | 9548 UploadFileElementReader::ScopedOverridingContentLengthForTests |
9549 overriding_content_length(kFakeSize); | 9549 overriding_content_length(kFakeSize); |
9550 | 9550 |
9551 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 9551 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
9552 element_readers.push_back(base::WrapUnique(new UploadFileElementReader( | 9552 element_readers.push_back(base::MakeUnique<UploadFileElementReader>( |
9553 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, | 9553 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, |
9554 std::numeric_limits<uint64_t>::max(), base::Time()))); | 9554 std::numeric_limits<uint64_t>::max(), base::Time())); |
9555 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 9555 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
9556 | 9556 |
9557 HttpRequestInfo request; | 9557 HttpRequestInfo request; |
9558 request.method = "POST"; | 9558 request.method = "POST"; |
9559 request.url = GURL("http://www.example.org/upload"); | 9559 request.url = GURL("http://www.example.org/upload"); |
9560 request.upload_data_stream = &upload_data_stream; | 9560 request.upload_data_stream = &upload_data_stream; |
9561 request.load_flags = 0; | 9561 request.load_flags = 0; |
9562 | 9562 |
9563 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 9563 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
9564 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 9564 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
(...skipping 24 matching lines...) Expand all Loading... |
9589 | 9589 |
9590 TEST_F(HttpNetworkTransactionTest, UploadUnreadableFile) { | 9590 TEST_F(HttpNetworkTransactionTest, UploadUnreadableFile) { |
9591 base::FilePath temp_file; | 9591 base::FilePath temp_file; |
9592 ASSERT_TRUE(base::CreateTemporaryFile(&temp_file)); | 9592 ASSERT_TRUE(base::CreateTemporaryFile(&temp_file)); |
9593 std::string temp_file_content("Unreadable file."); | 9593 std::string temp_file_content("Unreadable file."); |
9594 ASSERT_TRUE(base::WriteFile(temp_file, temp_file_content.c_str(), | 9594 ASSERT_TRUE(base::WriteFile(temp_file, temp_file_content.c_str(), |
9595 temp_file_content.length())); | 9595 temp_file_content.length())); |
9596 ASSERT_TRUE(base::MakeFileUnreadable(temp_file)); | 9596 ASSERT_TRUE(base::MakeFileUnreadable(temp_file)); |
9597 | 9597 |
9598 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 9598 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
9599 element_readers.push_back(base::WrapUnique(new UploadFileElementReader( | 9599 element_readers.push_back(base::MakeUnique<UploadFileElementReader>( |
9600 base::ThreadTaskRunnerHandle::Get().get(), temp_file, 0, | 9600 base::ThreadTaskRunnerHandle::Get().get(), temp_file, 0, |
9601 std::numeric_limits<uint64_t>::max(), base::Time()))); | 9601 std::numeric_limits<uint64_t>::max(), base::Time())); |
9602 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 9602 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
9603 | 9603 |
9604 HttpRequestInfo request; | 9604 HttpRequestInfo request; |
9605 request.method = "POST"; | 9605 request.method = "POST"; |
9606 request.url = GURL("http://www.example.org/upload"); | 9606 request.url = GURL("http://www.example.org/upload"); |
9607 request.upload_data_stream = &upload_data_stream; | 9607 request.upload_data_stream = &upload_data_stream; |
9608 request.load_flags = 0; | 9608 request.load_flags = 0; |
9609 | 9609 |
9610 // If we try to upload an unreadable file, the transaction should fail. | 9610 // If we try to upload an unreadable file, the transaction should fail. |
9611 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 9611 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
(...skipping 1445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11057 // Origin host bypasses proxy, no resolution should have happened. | 11057 // Origin host bypasses proxy, no resolution should have happened. |
11058 ASSERT_TRUE(capturing_proxy_resolver.resolved().empty()); | 11058 ASSERT_TRUE(capturing_proxy_resolver.resolved().empty()); |
11059 } | 11059 } |
11060 | 11060 |
11061 TEST_F(HttpNetworkTransactionTest, UseAlternativeServiceForTunneledNpnSpdy) { | 11061 TEST_F(HttpNetworkTransactionTest, UseAlternativeServiceForTunneledNpnSpdy) { |
11062 ProxyConfig proxy_config; | 11062 ProxyConfig proxy_config; |
11063 proxy_config.set_auto_detect(true); | 11063 proxy_config.set_auto_detect(true); |
11064 proxy_config.set_pac_url(GURL("http://fooproxyurl")); | 11064 proxy_config.set_pac_url(GURL("http://fooproxyurl")); |
11065 | 11065 |
11066 CapturingProxyResolver capturing_proxy_resolver; | 11066 CapturingProxyResolver capturing_proxy_resolver; |
11067 session_deps_.proxy_service.reset(new ProxyService( | 11067 session_deps_.proxy_service.reset( |
11068 base::WrapUnique(new ProxyConfigServiceFixed(proxy_config)), | 11068 new ProxyService(base::MakeUnique<ProxyConfigServiceFixed>(proxy_config), |
11069 base::WrapUnique( | 11069 base::MakeUnique<CapturingProxyResolverFactory>( |
11070 new CapturingProxyResolverFactory(&capturing_proxy_resolver)), | 11070 &capturing_proxy_resolver), |
11071 NULL)); | 11071 NULL)); |
11072 TestNetLog net_log; | 11072 TestNetLog net_log; |
11073 session_deps_.net_log = &net_log; | 11073 session_deps_.net_log = &net_log; |
11074 | 11074 |
11075 HttpRequestInfo request; | 11075 HttpRequestInfo request; |
11076 request.method = "GET"; | 11076 request.method = "GET"; |
11077 request.url = GURL("https://www.example.org/"); | 11077 request.url = GURL("https://www.example.org/"); |
11078 request.load_flags = 0; | 11078 request.load_flags = 0; |
11079 | 11079 |
11080 MockRead data_reads[] = { | 11080 MockRead data_reads[] = { |
11081 MockRead("HTTP/1.1 200 OK\r\n"), | 11081 MockRead("HTTP/1.1 200 OK\r\n"), |
(...skipping 3671 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14753 std::string response_data; | 14753 std::string response_data; |
14754 ASSERT_THAT(ReadTransaction(&http_trans, &response_data), IsOk()); | 14754 ASSERT_THAT(ReadTransaction(&http_trans, &response_data), IsOk()); |
14755 EXPECT_EQ("falafel", response_data); | 14755 EXPECT_EQ("falafel", response_data); |
14756 | 14756 |
14757 EXPECT_EQ(1, GetIdleSocketCountInTransportSocketPool(session.get())); | 14757 EXPECT_EQ(1, GetIdleSocketCountInTransportSocketPool(session.get())); |
14758 } | 14758 } |
14759 | 14759 |
14760 TEST_F(HttpNetworkTransactionTest, PostReadsErrorResponseAfterReset) { | 14760 TEST_F(HttpNetworkTransactionTest, PostReadsErrorResponseAfterReset) { |
14761 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 14761 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
14762 element_readers.push_back( | 14762 element_readers.push_back( |
14763 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 14763 base::MakeUnique<UploadBytesElementReader>("foo", 3)); |
14764 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 14764 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
14765 | 14765 |
14766 HttpRequestInfo request; | 14766 HttpRequestInfo request; |
14767 request.method = "POST"; | 14767 request.method = "POST"; |
14768 request.url = GURL("http://www.foo.com/"); | 14768 request.url = GURL("http://www.foo.com/"); |
14769 request.upload_data_stream = &upload_data_stream; | 14769 request.upload_data_stream = &upload_data_stream; |
14770 request.load_flags = 0; | 14770 request.load_flags = 0; |
14771 | 14771 |
14772 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 14772 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
14773 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 14773 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14892 std::string response_data2; | 14892 std::string response_data2; |
14893 rv = ReadTransaction(&trans2, &response_data2); | 14893 rv = ReadTransaction(&trans2, &response_data2); |
14894 EXPECT_THAT(rv, IsOk()); | 14894 EXPECT_THAT(rv, IsOk()); |
14895 EXPECT_EQ("second response", response_data2); | 14895 EXPECT_EQ("second response", response_data2); |
14896 } | 14896 } |
14897 | 14897 |
14898 TEST_F(HttpNetworkTransactionTest, | 14898 TEST_F(HttpNetworkTransactionTest, |
14899 PostReadsErrorResponseAfterResetPartialBodySent) { | 14899 PostReadsErrorResponseAfterResetPartialBodySent) { |
14900 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 14900 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
14901 element_readers.push_back( | 14901 element_readers.push_back( |
14902 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 14902 base::MakeUnique<UploadBytesElementReader>("foo", 3)); |
14903 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 14903 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
14904 | 14904 |
14905 HttpRequestInfo request; | 14905 HttpRequestInfo request; |
14906 request.method = "POST"; | 14906 request.method = "POST"; |
14907 request.url = GURL("http://www.foo.com/"); | 14907 request.url = GURL("http://www.foo.com/"); |
14908 request.upload_data_stream = &upload_data_stream; | 14908 request.upload_data_stream = &upload_data_stream; |
14909 request.load_flags = 0; | 14909 request.load_flags = 0; |
14910 | 14910 |
14911 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 14911 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
14912 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 14912 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15003 | 15003 |
15004 std::string response_data; | 15004 std::string response_data; |
15005 rv = ReadTransaction(&trans, &response_data); | 15005 rv = ReadTransaction(&trans, &response_data); |
15006 EXPECT_THAT(rv, IsOk()); | 15006 EXPECT_THAT(rv, IsOk()); |
15007 EXPECT_EQ("hello world", response_data); | 15007 EXPECT_EQ("hello world", response_data); |
15008 } | 15008 } |
15009 | 15009 |
15010 TEST_F(HttpNetworkTransactionTest, PostReadsErrorResponseAfterResetAnd100) { | 15010 TEST_F(HttpNetworkTransactionTest, PostReadsErrorResponseAfterResetAnd100) { |
15011 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 15011 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
15012 element_readers.push_back( | 15012 element_readers.push_back( |
15013 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 15013 base::MakeUnique<UploadBytesElementReader>("foo", 3)); |
15014 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 15014 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
15015 | 15015 |
15016 HttpRequestInfo request; | 15016 HttpRequestInfo request; |
15017 request.method = "POST"; | 15017 request.method = "POST"; |
15018 request.url = GURL("http://www.foo.com/"); | 15018 request.url = GURL("http://www.foo.com/"); |
15019 request.upload_data_stream = &upload_data_stream; | 15019 request.upload_data_stream = &upload_data_stream; |
15020 request.load_flags = 0; | 15020 request.load_flags = 0; |
15021 | 15021 |
15022 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 15022 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
15023 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 15023 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15056 | 15056 |
15057 std::string response_data; | 15057 std::string response_data; |
15058 rv = ReadTransaction(&trans, &response_data); | 15058 rv = ReadTransaction(&trans, &response_data); |
15059 EXPECT_THAT(rv, IsOk()); | 15059 EXPECT_THAT(rv, IsOk()); |
15060 EXPECT_EQ("hello world", response_data); | 15060 EXPECT_EQ("hello world", response_data); |
15061 } | 15061 } |
15062 | 15062 |
15063 TEST_F(HttpNetworkTransactionTest, PostIgnoresNonErrorResponseAfterReset) { | 15063 TEST_F(HttpNetworkTransactionTest, PostIgnoresNonErrorResponseAfterReset) { |
15064 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 15064 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
15065 element_readers.push_back( | 15065 element_readers.push_back( |
15066 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 15066 base::MakeUnique<UploadBytesElementReader>("foo", 3)); |
15067 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 15067 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
15068 | 15068 |
15069 HttpRequestInfo request; | 15069 HttpRequestInfo request; |
15070 request.method = "POST"; | 15070 request.method = "POST"; |
15071 request.url = GURL("http://www.foo.com/"); | 15071 request.url = GURL("http://www.foo.com/"); |
15072 request.upload_data_stream = &upload_data_stream; | 15072 request.upload_data_stream = &upload_data_stream; |
15073 request.load_flags = 0; | 15073 request.load_flags = 0; |
15074 | 15074 |
15075 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 15075 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
15076 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 15076 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
(...skipping 21 matching lines...) Expand all Loading... |
15098 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); | 15098 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); |
15099 | 15099 |
15100 rv = callback.WaitForResult(); | 15100 rv = callback.WaitForResult(); |
15101 EXPECT_THAT(rv, IsError(ERR_CONNECTION_RESET)); | 15101 EXPECT_THAT(rv, IsError(ERR_CONNECTION_RESET)); |
15102 } | 15102 } |
15103 | 15103 |
15104 TEST_F(HttpNetworkTransactionTest, | 15104 TEST_F(HttpNetworkTransactionTest, |
15105 PostIgnoresNonErrorResponseAfterResetAnd100) { | 15105 PostIgnoresNonErrorResponseAfterResetAnd100) { |
15106 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 15106 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
15107 element_readers.push_back( | 15107 element_readers.push_back( |
15108 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 15108 base::MakeUnique<UploadBytesElementReader>("foo", 3)); |
15109 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 15109 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
15110 | 15110 |
15111 HttpRequestInfo request; | 15111 HttpRequestInfo request; |
15112 request.method = "POST"; | 15112 request.method = "POST"; |
15113 request.url = GURL("http://www.foo.com/"); | 15113 request.url = GURL("http://www.foo.com/"); |
15114 request.upload_data_stream = &upload_data_stream; | 15114 request.upload_data_stream = &upload_data_stream; |
15115 request.load_flags = 0; | 15115 request.load_flags = 0; |
15116 | 15116 |
15117 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 15117 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
15118 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 15118 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
(...skipping 22 matching lines...) Expand all Loading... |
15141 int rv = trans.Start(&request, callback.callback(), BoundNetLog()); | 15141 int rv = trans.Start(&request, callback.callback(), BoundNetLog()); |
15142 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); | 15142 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); |
15143 | 15143 |
15144 rv = callback.WaitForResult(); | 15144 rv = callback.WaitForResult(); |
15145 EXPECT_THAT(rv, IsError(ERR_CONNECTION_RESET)); | 15145 EXPECT_THAT(rv, IsError(ERR_CONNECTION_RESET)); |
15146 } | 15146 } |
15147 | 15147 |
15148 TEST_F(HttpNetworkTransactionTest, PostIgnoresHttp09ResponseAfterReset) { | 15148 TEST_F(HttpNetworkTransactionTest, PostIgnoresHttp09ResponseAfterReset) { |
15149 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 15149 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
15150 element_readers.push_back( | 15150 element_readers.push_back( |
15151 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 15151 base::MakeUnique<UploadBytesElementReader>("foo", 3)); |
15152 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 15152 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
15153 | 15153 |
15154 HttpRequestInfo request; | 15154 HttpRequestInfo request; |
15155 request.method = "POST"; | 15155 request.method = "POST"; |
15156 request.url = GURL("http://www.foo.com/"); | 15156 request.url = GURL("http://www.foo.com/"); |
15157 request.upload_data_stream = &upload_data_stream; | 15157 request.upload_data_stream = &upload_data_stream; |
15158 request.load_flags = 0; | 15158 request.load_flags = 0; |
15159 | 15159 |
15160 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 15160 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
15161 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 15161 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
(...skipping 19 matching lines...) Expand all Loading... |
15181 int rv = trans.Start(&request, callback.callback(), BoundNetLog()); | 15181 int rv = trans.Start(&request, callback.callback(), BoundNetLog()); |
15182 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); | 15182 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); |
15183 | 15183 |
15184 rv = callback.WaitForResult(); | 15184 rv = callback.WaitForResult(); |
15185 EXPECT_THAT(rv, IsError(ERR_CONNECTION_RESET)); | 15185 EXPECT_THAT(rv, IsError(ERR_CONNECTION_RESET)); |
15186 } | 15186 } |
15187 | 15187 |
15188 TEST_F(HttpNetworkTransactionTest, PostIgnoresPartial400HeadersAfterReset) { | 15188 TEST_F(HttpNetworkTransactionTest, PostIgnoresPartial400HeadersAfterReset) { |
15189 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 15189 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
15190 element_readers.push_back( | 15190 element_readers.push_back( |
15191 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 15191 base::MakeUnique<UploadBytesElementReader>("foo", 3)); |
15192 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 15192 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
15193 | 15193 |
15194 HttpRequestInfo request; | 15194 HttpRequestInfo request; |
15195 request.method = "POST"; | 15195 request.method = "POST"; |
15196 request.url = GURL("http://www.foo.com/"); | 15196 request.url = GURL("http://www.foo.com/"); |
15197 request.upload_data_stream = &upload_data_stream; | 15197 request.upload_data_stream = &upload_data_stream; |
15198 request.load_flags = 0; | 15198 request.load_flags = 0; |
15199 | 15199 |
15200 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 15200 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
15201 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 15201 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15403 | 15403 |
15404 EXPECT_EQ(101, response->headers->response_code()); | 15404 EXPECT_EQ(101, response->headers->response_code()); |
15405 | 15405 |
15406 trans.reset(); | 15406 trans.reset(); |
15407 session->CloseAllConnections(); | 15407 session->CloseAllConnections(); |
15408 } | 15408 } |
15409 | 15409 |
15410 TEST_F(HttpNetworkTransactionTest, TotalNetworkBytesPost) { | 15410 TEST_F(HttpNetworkTransactionTest, TotalNetworkBytesPost) { |
15411 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 15411 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
15412 element_readers.push_back( | 15412 element_readers.push_back( |
15413 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 15413 base::MakeUnique<UploadBytesElementReader>("foo", 3)); |
15414 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 15414 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
15415 | 15415 |
15416 HttpRequestInfo request; | 15416 HttpRequestInfo request; |
15417 request.method = "POST"; | 15417 request.method = "POST"; |
15418 request.url = GURL("http://www.foo.com/"); | 15418 request.url = GURL("http://www.foo.com/"); |
15419 request.upload_data_stream = &upload_data_stream; | 15419 request.upload_data_stream = &upload_data_stream; |
15420 | 15420 |
15421 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 15421 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
15422 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 15422 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
15423 MockWrite data_writes[] = { | 15423 MockWrite data_writes[] = { |
(...skipping 23 matching lines...) Expand all Loading... |
15447 | 15447 |
15448 EXPECT_EQ(CountWriteBytes(data_writes, arraysize(data_writes)), | 15448 EXPECT_EQ(CountWriteBytes(data_writes, arraysize(data_writes)), |
15449 trans.GetTotalSentBytes()); | 15449 trans.GetTotalSentBytes()); |
15450 EXPECT_EQ(CountReadBytes(data_reads, arraysize(data_reads)), | 15450 EXPECT_EQ(CountReadBytes(data_reads, arraysize(data_reads)), |
15451 trans.GetTotalReceivedBytes()); | 15451 trans.GetTotalReceivedBytes()); |
15452 } | 15452 } |
15453 | 15453 |
15454 TEST_F(HttpNetworkTransactionTest, TotalNetworkBytesPost100Continue) { | 15454 TEST_F(HttpNetworkTransactionTest, TotalNetworkBytesPost100Continue) { |
15455 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 15455 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
15456 element_readers.push_back( | 15456 element_readers.push_back( |
15457 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 15457 base::MakeUnique<UploadBytesElementReader>("foo", 3)); |
15458 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 15458 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
15459 | 15459 |
15460 HttpRequestInfo request; | 15460 HttpRequestInfo request; |
15461 request.method = "POST"; | 15461 request.method = "POST"; |
15462 request.url = GURL("http://www.foo.com/"); | 15462 request.url = GURL("http://www.foo.com/"); |
15463 request.upload_data_stream = &upload_data_stream; | 15463 request.upload_data_stream = &upload_data_stream; |
15464 | 15464 |
15465 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 15465 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
15466 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 15466 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
15467 MockWrite data_writes[] = { | 15467 MockWrite data_writes[] = { |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15575 base::RunLoop().RunUntilIdle(); | 15575 base::RunLoop().RunUntilIdle(); |
15576 | 15576 |
15577 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy); | 15577 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy); |
15578 HttpRequestHeaders headers; | 15578 HttpRequestHeaders headers; |
15579 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers)); | 15579 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers)); |
15580 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding)); | 15580 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding)); |
15581 } | 15581 } |
15582 #endif // !defined(OS_IOS) | 15582 #endif // !defined(OS_IOS) |
15583 | 15583 |
15584 } // namespace net | 15584 } // namespace net |
OLD | NEW |