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); | 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; |
7628 request.method = "GET"; | 7628 request.method = "GET"; |
7629 request.url = GURL(url); | 7629 request.url = GURL(url); |
(...skipping 887 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8517 ASSERT_TRUE(response != NULL); | 8517 ASSERT_TRUE(response != NULL); |
8518 ASSERT_TRUE(response->headers.get() != NULL); | 8518 ASSERT_TRUE(response->headers.get() != NULL); |
8519 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); | 8519 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); |
8520 EXPECT_FALSE(response->was_fetched_via_spdy); | 8520 EXPECT_FALSE(response->was_fetched_via_spdy); |
8521 EXPECT_FALSE(response->was_npn_negotiated); | 8521 EXPECT_FALSE(response->was_npn_negotiated); |
8522 | 8522 |
8523 std::string response_data; | 8523 std::string response_data; |
8524 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); | 8524 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); |
8525 EXPECT_EQ("hello world", response_data); | 8525 EXPECT_EQ("hello world", response_data); |
8526 | 8526 |
8527 ASSERT_TRUE(http_server_properties.HasAlternateProtocol(http_host_port_pair)); | |
8528 const AlternateProtocolInfo alternate = | 8527 const AlternateProtocolInfo alternate = |
8529 http_server_properties.GetAlternateProtocol(http_host_port_pair); | 8528 http_server_properties.GetAlternateProtocol(http_host_port_pair); |
8530 AlternateProtocolInfo expected_alternate( | 8529 AlternateProtocolInfo expected_alternate( |
8531 443, AlternateProtocolFromNextProto(GetParam()), 1); | 8530 443, AlternateProtocolFromNextProto(GetParam()), 1.0); |
8532 EXPECT_TRUE(expected_alternate.Equals(alternate)); | 8531 EXPECT_TRUE(expected_alternate.Equals(alternate)); |
8533 } | 8532 } |
8534 | 8533 |
8535 TEST_P(HttpNetworkTransactionTest, | 8534 TEST_P(HttpNetworkTransactionTest, |
8536 MarkBrokenAlternateProtocolAndFallback) { | 8535 MarkBrokenAlternateProtocolAndFallback) { |
8537 session_deps_.use_alternate_protocols = true; | 8536 session_deps_.use_alternate_protocols = true; |
8538 | 8537 |
8539 HttpRequestInfo request; | 8538 HttpRequestInfo request; |
8540 request.method = "GET"; | 8539 request.method = "GET"; |
8541 request.url = GURL("http://www.google.com/"); | 8540 request.url = GURL("http://www.google.com/"); |
(...skipping 12 matching lines...) Expand all Loading... |
8554 StaticSocketDataProvider second_data( | 8553 StaticSocketDataProvider second_data( |
8555 data_reads, arraysize(data_reads), NULL, 0); | 8554 data_reads, arraysize(data_reads), NULL, 0); |
8556 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8555 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8557 | 8556 |
8558 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8557 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8559 | 8558 |
8560 base::WeakPtr<HttpServerProperties> http_server_properties = | 8559 base::WeakPtr<HttpServerProperties> http_server_properties = |
8561 session->http_server_properties(); | 8560 session->http_server_properties(); |
8562 // Port must be < 1024, or the header will be ignored (since initial port was | 8561 // Port must be < 1024, or the header will be ignored (since initial port was |
8563 // port 80 (another restricted port). | 8562 // port 80 (another restricted port). |
8564 http_server_properties->SetAlternateProtocol( | 8563 http_server_properties->AddAlternateProtocol( |
8565 HostPortPair::FromURL(request.url), | 8564 HostPortPair::FromURL(request.url), |
8566 666 /* port is ignored by MockConnect anyway */, | 8565 666 /* port is ignored by MockConnect anyway */, |
8567 AlternateProtocolFromNextProto(GetParam()), 1); | 8566 AlternateProtocolFromNextProto(GetParam()), 1.0); |
8568 | 8567 |
8569 scoped_ptr<HttpTransaction> trans( | 8568 scoped_ptr<HttpTransaction> trans( |
8570 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8569 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8571 TestCompletionCallback callback; | 8570 TestCompletionCallback callback; |
8572 | 8571 |
8573 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); | 8572 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); |
8574 EXPECT_EQ(ERR_IO_PENDING, rv); | 8573 EXPECT_EQ(ERR_IO_PENDING, rv); |
8575 EXPECT_EQ(OK, callback.WaitForResult()); | 8574 EXPECT_EQ(OK, callback.WaitForResult()); |
8576 | 8575 |
8577 const HttpResponseInfo* response = trans->GetResponseInfo(); | 8576 const HttpResponseInfo* response = trans->GetResponseInfo(); |
8578 ASSERT_TRUE(response != NULL); | 8577 ASSERT_TRUE(response != NULL); |
8579 ASSERT_TRUE(response->headers.get() != NULL); | 8578 ASSERT_TRUE(response->headers.get() != NULL); |
8580 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); | 8579 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); |
8581 | 8580 |
8582 std::string response_data; | 8581 std::string response_data; |
8583 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); | 8582 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); |
8584 EXPECT_EQ("hello world", response_data); | 8583 EXPECT_EQ("hello world", response_data); |
8585 | 8584 |
8586 ASSERT_TRUE(http_server_properties->HasAlternateProtocol( | 8585 ASSERT_FALSE(http_server_properties->HasAlternateProtocol( |
8587 HostPortPair::FromURL(request.url))); | 8586 HostPortPair::FromURL(request.url))); |
8588 const AlternateProtocolInfo alternate = | |
8589 http_server_properties->GetAlternateProtocol( | |
8590 HostPortPair::FromURL(request.url)); | |
8591 EXPECT_TRUE(alternate.is_broken); | |
8592 } | 8587 } |
8593 | 8588 |
8594 TEST_P(HttpNetworkTransactionTest, | 8589 TEST_P(HttpNetworkTransactionTest, |
8595 AlternateProtocolPortRestrictedBlocked) { | 8590 AlternateProtocolPortRestrictedBlocked) { |
8596 // Ensure that we're not allowed to redirect traffic via an alternate | 8591 // Ensure that we're not allowed to redirect traffic via an alternate |
8597 // protocol to an unrestricted (port >= 1024) when the original traffic was | 8592 // protocol to an unrestricted (port >= 1024) when the original traffic was |
8598 // on a restricted port (port < 1024). Ensure that we can redirect in all | 8593 // on a restricted port (port < 1024). Ensure that we can redirect in all |
8599 // other cases. | 8594 // other cases. |
8600 session_deps_.use_alternate_protocols = true; | 8595 session_deps_.use_alternate_protocols = true; |
8601 | 8596 |
(...skipping 14 matching lines...) Expand all Loading... |
8616 }; | 8611 }; |
8617 StaticSocketDataProvider second_data( | 8612 StaticSocketDataProvider second_data( |
8618 data_reads, arraysize(data_reads), NULL, 0); | 8613 data_reads, arraysize(data_reads), NULL, 0); |
8619 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8614 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8620 | 8615 |
8621 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8616 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8622 | 8617 |
8623 base::WeakPtr<HttpServerProperties> http_server_properties = | 8618 base::WeakPtr<HttpServerProperties> http_server_properties = |
8624 session->http_server_properties(); | 8619 session->http_server_properties(); |
8625 const int kUnrestrictedAlternatePort = 1024; | 8620 const int kUnrestrictedAlternatePort = 1024; |
8626 http_server_properties->SetAlternateProtocol( | 8621 http_server_properties->AddAlternateProtocol( |
8627 HostPortPair::FromURL(restricted_port_request.url), | 8622 HostPortPair::FromURL(restricted_port_request.url), |
8628 kUnrestrictedAlternatePort, | 8623 kUnrestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), |
8629 AlternateProtocolFromNextProto(GetParam()), 1); | 8624 1.0); |
8630 | 8625 |
8631 scoped_ptr<HttpTransaction> trans( | 8626 scoped_ptr<HttpTransaction> trans( |
8632 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8627 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8633 TestCompletionCallback callback; | 8628 TestCompletionCallback callback; |
8634 | 8629 |
8635 int rv = trans->Start( | 8630 int rv = trans->Start( |
8636 &restricted_port_request, | 8631 &restricted_port_request, |
8637 callback.callback(), BoundNetLog()); | 8632 callback.callback(), BoundNetLog()); |
8638 EXPECT_EQ(ERR_IO_PENDING, rv); | 8633 EXPECT_EQ(ERR_IO_PENDING, rv); |
8639 // Invalid change to unrestricted port should fail. | 8634 // Invalid change to unrestricted port should fail. |
(...skipping 27 matching lines...) Expand all Loading... |
8667 }; | 8662 }; |
8668 StaticSocketDataProvider second_data( | 8663 StaticSocketDataProvider second_data( |
8669 data_reads, arraysize(data_reads), NULL, 0); | 8664 data_reads, arraysize(data_reads), NULL, 0); |
8670 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8665 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8671 | 8666 |
8672 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8667 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8673 | 8668 |
8674 base::WeakPtr<HttpServerProperties> http_server_properties = | 8669 base::WeakPtr<HttpServerProperties> http_server_properties = |
8675 session->http_server_properties(); | 8670 session->http_server_properties(); |
8676 const int kUnrestrictedAlternatePort = 1024; | 8671 const int kUnrestrictedAlternatePort = 1024; |
8677 http_server_properties->SetAlternateProtocol( | 8672 http_server_properties->AddAlternateProtocol( |
8678 HostPortPair::FromURL(restricted_port_request.url), | 8673 HostPortPair::FromURL(restricted_port_request.url), |
8679 kUnrestrictedAlternatePort, | 8674 kUnrestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), |
8680 AlternateProtocolFromNextProto(GetParam()), 1); | 8675 1.0); |
8681 | 8676 |
8682 scoped_ptr<HttpTransaction> trans( | 8677 scoped_ptr<HttpTransaction> trans( |
8683 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8678 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8684 TestCompletionCallback callback; | 8679 TestCompletionCallback callback; |
8685 | 8680 |
8686 EXPECT_EQ(ERR_IO_PENDING, trans->Start( | 8681 EXPECT_EQ(ERR_IO_PENDING, trans->Start( |
8687 &restricted_port_request, | 8682 &restricted_port_request, |
8688 callback.callback(), BoundNetLog())); | 8683 callback.callback(), BoundNetLog())); |
8689 // Change to unrestricted port should succeed. | 8684 // Change to unrestricted port should succeed. |
8690 EXPECT_EQ(OK, callback.WaitForResult()); | 8685 EXPECT_EQ(OK, callback.WaitForResult()); |
(...skipping 24 matching lines...) Expand all Loading... |
8715 }; | 8710 }; |
8716 StaticSocketDataProvider second_data( | 8711 StaticSocketDataProvider second_data( |
8717 data_reads, arraysize(data_reads), NULL, 0); | 8712 data_reads, arraysize(data_reads), NULL, 0); |
8718 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8713 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8719 | 8714 |
8720 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8715 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8721 | 8716 |
8722 base::WeakPtr<HttpServerProperties> http_server_properties = | 8717 base::WeakPtr<HttpServerProperties> http_server_properties = |
8723 session->http_server_properties(); | 8718 session->http_server_properties(); |
8724 const int kRestrictedAlternatePort = 80; | 8719 const int kRestrictedAlternatePort = 80; |
8725 http_server_properties->SetAlternateProtocol( | 8720 http_server_properties->AddAlternateProtocol( |
8726 HostPortPair::FromURL(restricted_port_request.url), | 8721 HostPortPair::FromURL(restricted_port_request.url), |
8727 kRestrictedAlternatePort, | 8722 kRestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), |
8728 AlternateProtocolFromNextProto(GetParam()), 1); | 8723 1.0); |
8729 | 8724 |
8730 scoped_ptr<HttpTransaction> trans( | 8725 scoped_ptr<HttpTransaction> trans( |
8731 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8726 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8732 TestCompletionCallback callback; | 8727 TestCompletionCallback callback; |
8733 | 8728 |
8734 int rv = trans->Start( | 8729 int rv = trans->Start( |
8735 &restricted_port_request, | 8730 &restricted_port_request, |
8736 callback.callback(), BoundNetLog()); | 8731 callback.callback(), BoundNetLog()); |
8737 EXPECT_EQ(ERR_IO_PENDING, rv); | 8732 EXPECT_EQ(ERR_IO_PENDING, rv); |
8738 // Valid change to restricted port should pass. | 8733 // Valid change to restricted port should pass. |
(...skipping 25 matching lines...) Expand all Loading... |
8764 }; | 8759 }; |
8765 StaticSocketDataProvider second_data( | 8760 StaticSocketDataProvider second_data( |
8766 data_reads, arraysize(data_reads), NULL, 0); | 8761 data_reads, arraysize(data_reads), NULL, 0); |
8767 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8762 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8768 | 8763 |
8769 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8764 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8770 | 8765 |
8771 base::WeakPtr<HttpServerProperties> http_server_properties = | 8766 base::WeakPtr<HttpServerProperties> http_server_properties = |
8772 session->http_server_properties(); | 8767 session->http_server_properties(); |
8773 const int kRestrictedAlternatePort = 80; | 8768 const int kRestrictedAlternatePort = 80; |
8774 http_server_properties->SetAlternateProtocol( | 8769 http_server_properties->AddAlternateProtocol( |
8775 HostPortPair::FromURL(unrestricted_port_request.url), | 8770 HostPortPair::FromURL(unrestricted_port_request.url), |
8776 kRestrictedAlternatePort, | 8771 kRestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), |
8777 AlternateProtocolFromNextProto(GetParam()), 1); | 8772 1.0); |
8778 | 8773 |
8779 scoped_ptr<HttpTransaction> trans( | 8774 scoped_ptr<HttpTransaction> trans( |
8780 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8775 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8781 TestCompletionCallback callback; | 8776 TestCompletionCallback callback; |
8782 | 8777 |
8783 int rv = trans->Start( | 8778 int rv = trans->Start( |
8784 &unrestricted_port_request, callback.callback(), BoundNetLog()); | 8779 &unrestricted_port_request, callback.callback(), BoundNetLog()); |
8785 EXPECT_EQ(ERR_IO_PENDING, rv); | 8780 EXPECT_EQ(ERR_IO_PENDING, rv); |
8786 // Valid change to restricted port should pass. | 8781 // Valid change to restricted port should pass. |
8787 EXPECT_EQ(OK, callback.WaitForResult()); | 8782 EXPECT_EQ(OK, callback.WaitForResult()); |
(...skipping 24 matching lines...) Expand all Loading... |
8812 }; | 8807 }; |
8813 StaticSocketDataProvider second_data( | 8808 StaticSocketDataProvider second_data( |
8814 data_reads, arraysize(data_reads), NULL, 0); | 8809 data_reads, arraysize(data_reads), NULL, 0); |
8815 session_deps_.socket_factory->AddSocketDataProvider(&second_data); | 8810 session_deps_.socket_factory->AddSocketDataProvider(&second_data); |
8816 | 8811 |
8817 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8812 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8818 | 8813 |
8819 base::WeakPtr<HttpServerProperties> http_server_properties = | 8814 base::WeakPtr<HttpServerProperties> http_server_properties = |
8820 session->http_server_properties(); | 8815 session->http_server_properties(); |
8821 const int kUnrestrictedAlternatePort = 1024; | 8816 const int kUnrestrictedAlternatePort = 1024; |
8822 http_server_properties->SetAlternateProtocol( | 8817 http_server_properties->AddAlternateProtocol( |
8823 HostPortPair::FromURL(unrestricted_port_request.url), | 8818 HostPortPair::FromURL(unrestricted_port_request.url), |
8824 kUnrestrictedAlternatePort, | 8819 kUnrestrictedAlternatePort, AlternateProtocolFromNextProto(GetParam()), |
8825 AlternateProtocolFromNextProto(GetParam()), 1); | 8820 1.0); |
8826 | 8821 |
8827 scoped_ptr<HttpTransaction> trans( | 8822 scoped_ptr<HttpTransaction> trans( |
8828 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8823 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8829 TestCompletionCallback callback; | 8824 TestCompletionCallback callback; |
8830 | 8825 |
8831 int rv = trans->Start( | 8826 int rv = trans->Start( |
8832 &unrestricted_port_request, callback.callback(), BoundNetLog()); | 8827 &unrestricted_port_request, callback.callback(), BoundNetLog()); |
8833 EXPECT_EQ(ERR_IO_PENDING, rv); | 8828 EXPECT_EQ(ERR_IO_PENDING, rv); |
8834 // Valid change to an unrestricted port should pass. | 8829 // Valid change to an unrestricted port should pass. |
8835 EXPECT_EQ(OK, callback.WaitForResult()); | 8830 EXPECT_EQ(OK, callback.WaitForResult()); |
(...skipping 19 matching lines...) Expand all Loading... |
8855 }; | 8850 }; |
8856 StaticSocketDataProvider data( | 8851 StaticSocketDataProvider data( |
8857 data_reads, arraysize(data_reads), NULL, 0); | 8852 data_reads, arraysize(data_reads), NULL, 0); |
8858 session_deps_.socket_factory->AddSocketDataProvider(&data); | 8853 session_deps_.socket_factory->AddSocketDataProvider(&data); |
8859 | 8854 |
8860 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 8855 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
8861 | 8856 |
8862 base::WeakPtr<HttpServerProperties> http_server_properties = | 8857 base::WeakPtr<HttpServerProperties> http_server_properties = |
8863 session->http_server_properties(); | 8858 session->http_server_properties(); |
8864 const int kUnsafePort = 7; | 8859 const int kUnsafePort = 7; |
8865 http_server_properties->SetAlternateProtocol( | 8860 http_server_properties->AddAlternateProtocol( |
8866 HostPortPair::FromURL(request.url), | 8861 HostPortPair::FromURL(request.url), kUnsafePort, |
8867 kUnsafePort, | 8862 AlternateProtocolFromNextProto(GetParam()), 1.0); |
8868 AlternateProtocolFromNextProto(GetParam()), 1); | |
8869 | 8863 |
8870 scoped_ptr<HttpTransaction> trans( | 8864 scoped_ptr<HttpTransaction> trans( |
8871 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 8865 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
8872 TestCompletionCallback callback; | 8866 TestCompletionCallback callback; |
8873 | 8867 |
8874 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); | 8868 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); |
8875 EXPECT_EQ(ERR_IO_PENDING, rv); | 8869 EXPECT_EQ(ERR_IO_PENDING, rv); |
8876 // The HTTP request should succeed. | 8870 // The HTTP request should succeed. |
8877 EXPECT_EQ(OK, callback.WaitForResult()); | 8871 EXPECT_EQ(OK, callback.WaitForResult()); |
8878 | 8872 |
(...skipping 4677 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13556 ASSERT_TRUE(response); | 13550 ASSERT_TRUE(response); |
13557 ASSERT_TRUE(response->headers.get()); | 13551 ASSERT_TRUE(response->headers.get()); |
13558 | 13552 |
13559 EXPECT_EQ(101, response->headers->response_code()); | 13553 EXPECT_EQ(101, response->headers->response_code()); |
13560 | 13554 |
13561 trans.reset(); | 13555 trans.reset(); |
13562 session->CloseAllConnections(); | 13556 session->CloseAllConnections(); |
13563 } | 13557 } |
13564 | 13558 |
13565 } // namespace net | 13559 } // namespace net |
OLD | NEW |