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 <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 7596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7607 bool ssl; | 7607 bool ssl; |
7608 }; | 7608 }; |
7609 | 7609 |
7610 scoped_refptr<HttpNetworkSession> SetupSessionForGroupNameTests( | 7610 scoped_refptr<HttpNetworkSession> SetupSessionForGroupNameTests( |
7611 NextProto next_proto, | 7611 NextProto next_proto, |
7612 SpdySessionDependencies* session_deps_) { | 7612 SpdySessionDependencies* session_deps_) { |
7613 scoped_refptr<HttpNetworkSession> session(CreateSession(session_deps_)); | 7613 scoped_refptr<HttpNetworkSession> session(CreateSession(session_deps_)); |
7614 | 7614 |
7615 base::WeakPtr<HttpServerProperties> http_server_properties = | 7615 base::WeakPtr<HttpServerProperties> http_server_properties = |
7616 session->http_server_properties(); | 7616 session->http_server_properties(); |
7617 http_server_properties->SetAlternateProtocol( | 7617 http_server_properties->AddAlternateProtocol( |
7618 HostPortPair("host.with.alternate", 80), 443, | 7618 HostPortPair("host.with.alternate", 80), 443, |
7619 AlternateProtocolFromNextProto(next_proto), 1.0); | 7619 AlternateProtocolFromNextProto(next_proto), 1.0); |
7620 | 7620 |
7621 return session; | 7621 return session; |
7622 } | 7622 } |
7623 | 7623 |
7624 int GroupNameTransactionHelper( | 7624 int GroupNameTransactionHelper( |
7625 const std::string& url, | 7625 const std::string& url, |
7626 const scoped_refptr<HttpNetworkSession>& session) { | 7626 const scoped_refptr<HttpNetworkSession>& session) { |
7627 HttpRequestInfo request; | 7627 HttpRequestInfo request; |
(...skipping 873 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8501 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8501 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8502 scoped_ptr<HttpTransaction> trans( | 8502 scoped_ptr<HttpTransaction> trans( |
8503 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8503 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8504 | 8504 |
8505 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); | 8505 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); |
8506 EXPECT_EQ(ERR_IO_PENDING, rv); | 8506 EXPECT_EQ(ERR_IO_PENDING, rv); |
8507 | 8507 |
8508 HostPortPair http_host_port_pair("www.google.com", 80); | 8508 HostPortPair http_host_port_pair("www.google.com", 80); |
8509 HttpServerProperties& http_server_properties = | 8509 HttpServerProperties& http_server_properties = |
8510 *session->http_server_properties(); | 8510 *session->http_server_properties(); |
8511 AlternateProtocolInfo alternate = | 8511 AlternateProtocols alternates = |
8512 http_server_properties.GetAlternateProtocol(http_host_port_pair); | 8512 http_server_properties.GetAlternateProtocols(http_host_port_pair); |
8513 EXPECT_EQ(alternate.protocol, UNINITIALIZED_ALTERNATE_PROTOCOL); | 8513 EXPECT_EQ(0u, alternates.size()); |
8514 | 8514 |
8515 EXPECT_EQ(OK, callback.WaitForResult()); | 8515 EXPECT_EQ(OK, callback.WaitForResult()); |
8516 | 8516 |
8517 const HttpResponseInfo* response = trans->GetResponseInfo(); | 8517 const HttpResponseInfo* response = trans->GetResponseInfo(); |
8518 ASSERT_TRUE(response != NULL); | 8518 ASSERT_TRUE(response != NULL); |
8519 ASSERT_TRUE(response->headers.get() != NULL); | 8519 ASSERT_TRUE(response->headers.get() != NULL); |
8520 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); | 8520 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); |
8521 EXPECT_FALSE(response->was_fetched_via_spdy); | 8521 EXPECT_FALSE(response->was_fetched_via_spdy); |
8522 EXPECT_FALSE(response->was_npn_negotiated); | 8522 EXPECT_FALSE(response->was_npn_negotiated); |
8523 | 8523 |
8524 std::string response_data; | 8524 std::string response_data; |
8525 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); | 8525 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); |
8526 EXPECT_EQ("hello world", response_data); | 8526 EXPECT_EQ("hello world", response_data); |
8527 | 8527 |
8528 alternate = http_server_properties.GetAlternateProtocol(http_host_port_pair); | 8528 alternates = |
8529 EXPECT_EQ(443, alternate.port); | 8529 http_server_properties.GetAlternateProtocols(http_host_port_pair); |
8530 EXPECT_EQ(AlternateProtocolFromNextProto(GetParam()), alternate.protocol); | 8530 ASSERT_EQ(1u, alternates.size()); |
8531 EXPECT_EQ(1.0, alternate.probability); | 8531 EXPECT_EQ(443, alternates[0].port); |
| 8532 EXPECT_EQ(AlternateProtocolFromNextProto(GetParam()), alternates[0].protocol); |
| 8533 EXPECT_EQ(1.0, alternates[0].probability); |
8532 } | 8534 } |
8533 | 8535 |
8534 TEST_P(HttpNetworkTransactionTest, | 8536 TEST_P(HttpNetworkTransactionTest, |
8535 MarkBrokenAlternateProtocolAndFallback) { | 8537 MarkBrokenAlternateProtocolAndFallback) { |
8536 session_deps_.use_alternate_protocols = true; | 8538 session_deps_.use_alternate_protocols = true; |
8537 | 8539 |
8538 HttpRequestInfo request; | 8540 HttpRequestInfo request; |
8539 request.method = "GET"; | 8541 request.method = "GET"; |
8540 request.url = GURL("http://www.google.com/"); | 8542 request.url = GURL("http://www.google.com/"); |
8541 request.load_flags = 0; | 8543 request.load_flags = 0; |
(...skipping 11 matching lines...) Expand all Loading... |
8553 StaticSocketDataProvider second_data( | 8555 StaticSocketDataProvider second_data( |
8554 data_reads, arraysize(data_reads), NULL, 0); | 8556 data_reads, arraysize(data_reads), NULL, 0); |
8555 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8557 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8556 | 8558 |
8557 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8559 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8558 | 8560 |
8559 base::WeakPtr<HttpServerProperties> http_server_properties = | 8561 base::WeakPtr<HttpServerProperties> http_server_properties = |
8560 session->http_server_properties(); | 8562 session->http_server_properties(); |
8561 // Port must be < 1024, or the header will be ignored (since initial port was | 8563 // Port must be < 1024, or the header will be ignored (since initial port was |
8562 // port 80 (another restricted port). | 8564 // port 80 (another restricted port). |
8563 http_server_properties->SetAlternateProtocol( | 8565 const HostPortPair http_host_port_pair = HostPortPair::FromURL(request.url); |
8564 HostPortPair::FromURL(request.url), | 8566 http_server_properties->AddAlternateProtocol( |
8565 666 /* port is ignored by MockConnect anyway */, | 8567 http_host_port_pair, 666 /* port is ignored by MockConnect anyway */, |
8566 AlternateProtocolFromNextProto(GetParam()), 1.0); | 8568 AlternateProtocolFromNextProto(GetParam()), 1.0); |
8567 | 8569 |
8568 scoped_ptr<HttpTransaction> trans( | 8570 scoped_ptr<HttpTransaction> trans( |
8569 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8571 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8570 TestCompletionCallback callback; | 8572 TestCompletionCallback callback; |
8571 | 8573 |
8572 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); | 8574 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); |
8573 EXPECT_EQ(ERR_IO_PENDING, rv); | 8575 EXPECT_EQ(ERR_IO_PENDING, rv); |
8574 EXPECT_EQ(OK, callback.WaitForResult()); | 8576 EXPECT_EQ(OK, callback.WaitForResult()); |
8575 | 8577 |
8576 const HttpResponseInfo* response = trans->GetResponseInfo(); | 8578 const HttpResponseInfo* response = trans->GetResponseInfo(); |
8577 ASSERT_TRUE(response != NULL); | 8579 ASSERT_TRUE(response != NULL); |
8578 ASSERT_TRUE(response->headers.get() != NULL); | 8580 ASSERT_TRUE(response->headers.get() != NULL); |
8579 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); | 8581 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); |
8580 | 8582 |
8581 std::string response_data; | 8583 std::string response_data; |
8582 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); | 8584 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); |
8583 EXPECT_EQ("hello world", response_data); | 8585 EXPECT_EQ("hello world", response_data); |
8584 | 8586 |
8585 const AlternateProtocolInfo alternate = | 8587 const AlternateProtocols alternate_protocols = |
8586 http_server_properties->GetAlternateProtocol( | 8588 http_server_properties->GetAlternateProtocols(http_host_port_pair); |
8587 HostPortPair::FromURL(request.url)); | 8589 ASSERT_EQ(1u, alternate_protocols.size()); |
8588 EXPECT_NE(UNINITIALIZED_ALTERNATE_PROTOCOL, alternate.protocol); | 8590 AlternateProtocolInfo expected_alternate( |
8589 EXPECT_TRUE(alternate.is_broken); | 8591 666, AlternateProtocolFromNextProto(GetParam()), 1.0); |
| 8592 EXPECT_TRUE(expected_alternate.Equals(alternate_protocols[0])); |
| 8593 EXPECT_TRUE(alternate_protocols[0].is_broken); |
8590 } | 8594 } |
8591 | 8595 |
8592 TEST_P(HttpNetworkTransactionTest, | 8596 TEST_P(HttpNetworkTransactionTest, |
8593 AlternateProtocolPortRestrictedBlocked) { | 8597 AlternateProtocolPortRestrictedBlocked) { |
8594 // Ensure that we're not allowed to redirect traffic via an alternate | 8598 // Ensure that we're not allowed to redirect traffic via an alternate |
8595 // protocol to an unrestricted (port >= 1024) when the original traffic was | 8599 // protocol to an unrestricted (port >= 1024) when the original traffic was |
8596 // on a restricted port (port < 1024). Ensure that we can redirect in all | 8600 // on a restricted port (port < 1024). Ensure that we can redirect in all |
8597 // other cases. | 8601 // other cases. |
8598 session_deps_.use_alternate_protocols = true; | 8602 session_deps_.use_alternate_protocols = true; |
8599 | 8603 |
(...skipping 14 matching lines...) Expand all Loading... |
8614 }; | 8618 }; |
8615 StaticSocketDataProvider second_data( | 8619 StaticSocketDataProvider second_data( |
8616 data_reads, arraysize(data_reads), NULL, 0); | 8620 data_reads, arraysize(data_reads), NULL, 0); |
8617 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8621 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8618 | 8622 |
8619 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8623 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8620 | 8624 |
8621 base::WeakPtr<HttpServerProperties> http_server_properties = | 8625 base::WeakPtr<HttpServerProperties> http_server_properties = |
8622 session->http_server_properties(); | 8626 session->http_server_properties(); |
8623 const int kUnrestrictedAlternatePort = 1024; | 8627 const int kUnrestrictedAlternatePort = 1024; |
8624 http_server_properties->SetAlternateProtocol( | 8628 http_server_properties->AddAlternateProtocol( |
8625 HostPortPair::FromURL(restricted_port_request.url), | 8629 HostPortPair::FromURL(restricted_port_request.url), |
8626 kUnrestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), | 8630 kUnrestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), |
8627 1.0); | 8631 1.0); |
8628 | 8632 |
8629 scoped_ptr<HttpTransaction> trans( | 8633 scoped_ptr<HttpTransaction> trans( |
8630 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8634 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8631 TestCompletionCallback callback; | 8635 TestCompletionCallback callback; |
8632 | 8636 |
8633 int rv = trans->Start( | 8637 int rv = trans->Start( |
8634 &restricted_port_request, | 8638 &restricted_port_request, |
(...skipping 30 matching lines...) Expand all Loading... |
8665 }; | 8669 }; |
8666 StaticSocketDataProvider second_data( | 8670 StaticSocketDataProvider second_data( |
8667 data_reads, arraysize(data_reads), NULL, 0); | 8671 data_reads, arraysize(data_reads), NULL, 0); |
8668 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8672 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8669 | 8673 |
8670 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8674 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8671 | 8675 |
8672 base::WeakPtr<HttpServerProperties> http_server_properties = | 8676 base::WeakPtr<HttpServerProperties> http_server_properties = |
8673 session->http_server_properties(); | 8677 session->http_server_properties(); |
8674 const int kUnrestrictedAlternatePort = 1024; | 8678 const int kUnrestrictedAlternatePort = 1024; |
8675 http_server_properties->SetAlternateProtocol( | 8679 http_server_properties->AddAlternateProtocol( |
8676 HostPortPair::FromURL(restricted_port_request.url), | 8680 HostPortPair::FromURL(restricted_port_request.url), |
8677 kUnrestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), | 8681 kUnrestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), |
8678 1.0); | 8682 1.0); |
8679 | 8683 |
8680 scoped_ptr<HttpTransaction> trans( | 8684 scoped_ptr<HttpTransaction> trans( |
8681 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8685 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8682 TestCompletionCallback callback; | 8686 TestCompletionCallback callback; |
8683 | 8687 |
8684 EXPECT_EQ(ERR_IO_PENDING, trans->Start( | 8688 EXPECT_EQ(ERR_IO_PENDING, trans->Start( |
8685 &restricted_port_request, | 8689 &restricted_port_request, |
(...skipping 27 matching lines...) Expand all Loading... |
8713 }; | 8717 }; |
8714 StaticSocketDataProvider second_data( | 8718 StaticSocketDataProvider second_data( |
8715 data_reads, arraysize(data_reads), NULL, 0); | 8719 data_reads, arraysize(data_reads), NULL, 0); |
8716 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8720 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8717 | 8721 |
8718 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8722 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8719 | 8723 |
8720 base::WeakPtr<HttpServerProperties> http_server_properties = | 8724 base::WeakPtr<HttpServerProperties> http_server_properties = |
8721 session->http_server_properties(); | 8725 session->http_server_properties(); |
8722 const int kRestrictedAlternatePort = 80; | 8726 const int kRestrictedAlternatePort = 80; |
8723 http_server_properties->SetAlternateProtocol( | 8727 http_server_properties->AddAlternateProtocol( |
8724 HostPortPair::FromURL(restricted_port_request.url), | 8728 HostPortPair::FromURL(restricted_port_request.url), |
8725 kRestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), | 8729 kRestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), |
8726 1.0); | 8730 1.0); |
8727 | 8731 |
8728 scoped_ptr<HttpTransaction> trans( | 8732 scoped_ptr<HttpTransaction> trans( |
8729 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8733 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8730 TestCompletionCallback callback; | 8734 TestCompletionCallback callback; |
8731 | 8735 |
8732 int rv = trans->Start( | 8736 int rv = trans->Start( |
8733 &restricted_port_request, | 8737 &restricted_port_request, |
(...skipping 28 matching lines...) Expand all Loading... |
8762 }; | 8766 }; |
8763 StaticSocketDataProvider second_data( | 8767 StaticSocketDataProvider second_data( |
8764 data_reads, arraysize(data_reads), NULL, 0); | 8768 data_reads, arraysize(data_reads), NULL, 0); |
8765 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8769 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8766 | 8770 |
8767 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8771 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8768 | 8772 |
8769 base::WeakPtr<HttpServerProperties> http_server_properties = | 8773 base::WeakPtr<HttpServerProperties> http_server_properties = |
8770 session->http_server_properties(); | 8774 session->http_server_properties(); |
8771 const int kRestrictedAlternatePort = 80; | 8775 const int kRestrictedAlternatePort = 80; |
8772 http_server_properties->SetAlternateProtocol( | 8776 http_server_properties->AddAlternateProtocol( |
8773 HostPortPair::FromURL(unrestricted_port_request.url), | 8777 HostPortPair::FromURL(unrestricted_port_request.url), |
8774 kRestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), | 8778 kRestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), |
8775 1.0); | 8779 1.0); |
8776 | 8780 |
8777 scoped_ptr<HttpTransaction> trans( | 8781 scoped_ptr<HttpTransaction> trans( |
8778 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8782 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8779 TestCompletionCallback callback; | 8783 TestCompletionCallback callback; |
8780 | 8784 |
8781 int rv = trans->Start( | 8785 int rv = trans->Start( |
8782 &unrestricted_port_request, callback.callback(), BoundNetLog()); | 8786 &unrestricted_port_request, callback.callback(), BoundNetLog()); |
(...skipping 27 matching lines...) Expand all Loading... |
8810 }; | 8814 }; |
8811 StaticSocketDataProvider second_data( | 8815 StaticSocketDataProvider second_data( |
8812 data_reads, arraysize(data_reads), NULL, 0); | 8816 data_reads, arraysize(data_reads), NULL, 0); |
8813 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8817 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8814 | 8818 |
8815 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8819 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8816 | 8820 |
8817 base::WeakPtr<HttpServerProperties> http_server_properties = | 8821 base::WeakPtr<HttpServerProperties> http_server_properties = |
8818 session->http_server_properties(); | 8822 session->http_server_properties(); |
8819 const int kUnrestrictedAlternatePort = 1024; | 8823 const int kUnrestrictedAlternatePort = 1024; |
8820 http_server_properties->SetAlternateProtocol( | 8824 http_server_properties->AddAlternateProtocol( |
8821 HostPortPair::FromURL(unrestricted_port_request.url), | 8825 HostPortPair::FromURL(unrestricted_port_request.url), |
8822 kUnrestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), | 8826 kUnrestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), |
8823 1.0); | 8827 1.0); |
8824 | 8828 |
8825 scoped_ptr<HttpTransaction> trans( | 8829 scoped_ptr<HttpTransaction> trans( |
8826 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8830 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8827 TestCompletionCallback callback; | 8831 TestCompletionCallback callback; |
8828 | 8832 |
8829 int rv = trans->Start( | 8833 int rv = trans->Start( |
8830 &unrestricted_port_request, callback.callback(), BoundNetLog()); | 8834 &unrestricted_port_request, callback.callback(), BoundNetLog()); |
(...skipping 22 matching lines...) Expand all Loading... |
8853 }; | 8857 }; |
8854 StaticSocketDataProvider data( | 8858 StaticSocketDataProvider data( |
8855 data_reads, arraysize(data_reads), NULL, 0); | 8859 data_reads, arraysize(data_reads), NULL, 0); |
8856 session_deps_.socket_factory->AddSocketDataProvider(&data); | 8860 session_deps_.socket_factory->AddSocketDataProvider(&data); |
8857 | 8861 |
8858 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8862 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8859 | 8863 |
8860 base::WeakPtr<HttpServerProperties> http_server_properties = | 8864 base::WeakPtr<HttpServerProperties> http_server_properties = |
8861 session->http_server_properties(); | 8865 session->http_server_properties(); |
8862 const int kUnsafePort = 7; | 8866 const int kUnsafePort = 7; |
8863 http_server_properties->SetAlternateProtocol( | 8867 http_server_properties->AddAlternateProtocol( |
8864 HostPortPair::FromURL(request.url), kUnsafePort, | 8868 HostPortPair::FromURL(request.url), kUnsafePort, |
8865 AlternateProtocolFromNextProto(GetParam()), 1.0); | 8869 AlternateProtocolFromNextProto(GetParam()), 1.0); |
8866 | 8870 |
8867 scoped_ptr<HttpTransaction> trans( | 8871 scoped_ptr<HttpTransaction> trans( |
8868 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8872 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8869 TestCompletionCallback callback; | 8873 TestCompletionCallback callback; |
8870 | 8874 |
8871 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); | 8875 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); |
8872 EXPECT_EQ(ERR_IO_PENDING, rv); | 8876 EXPECT_EQ(ERR_IO_PENDING, rv); |
8873 // The HTTP request should succeed. | 8877 // The HTTP request should succeed. |
(...skipping 4679 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13553 ASSERT_TRUE(response); | 13557 ASSERT_TRUE(response); |
13554 ASSERT_TRUE(response->headers.get()); | 13558 ASSERT_TRUE(response->headers.get()); |
13555 | 13559 |
13556 EXPECT_EQ(101, response->headers->response_code()); | 13560 EXPECT_EQ(101, response->headers->response_code()); |
13557 | 13561 |
13558 trans.reset(); | 13562 trans.reset(); |
13559 session->CloseAllConnections(); | 13563 session->CloseAllConnections(); |
13560 } | 13564 } |
13561 | 13565 |
13562 } // namespace net | 13566 } // namespace net |
OLD | NEW |