| 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 3587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3598 | 3598 |
| 3599 OrderedSocketData spdy_data( | 3599 OrderedSocketData spdy_data( |
| 3600 spdy_reads, arraysize(spdy_reads), | 3600 spdy_reads, arraysize(spdy_reads), |
| 3601 spdy_writes, arraysize(spdy_writes)); | 3601 spdy_writes, arraysize(spdy_writes)); |
| 3602 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); | 3602 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); |
| 3603 | 3603 |
| 3604 SSLSocketDataProvider ssl(ASYNC, OK); | 3604 SSLSocketDataProvider ssl(ASYNC, OK); |
| 3605 ssl.SetNextProto(GetParam()); | 3605 ssl.SetNextProto(GetParam()); |
| 3606 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); | 3606 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); |
| 3607 SSLSocketDataProvider ssl2(ASYNC, OK); | 3607 SSLSocketDataProvider ssl2(ASYNC, OK); |
| 3608 ssl2.was_npn_negotiated = false; | |
| 3609 ssl2.protocol_negotiated = kProtoUnknown; | |
| 3610 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); | 3608 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); |
| 3611 | 3609 |
| 3612 TestCompletionCallback callback1; | 3610 TestCompletionCallback callback1; |
| 3613 | 3611 |
| 3614 int rv = trans->Start(&request, callback1.callback(), log.bound()); | 3612 int rv = trans->Start(&request, callback1.callback(), log.bound()); |
| 3615 EXPECT_EQ(ERR_IO_PENDING, rv); | 3613 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 3616 | 3614 |
| 3617 rv = callback1.WaitForResult(); | 3615 rv = callback1.WaitForResult(); |
| 3618 EXPECT_EQ(OK, rv); | 3616 EXPECT_EQ(OK, rv); |
| 3619 | 3617 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3688 OrderedSocketData spdy_data( | 3686 OrderedSocketData spdy_data( |
| 3689 spdy_reads, arraysize(spdy_reads), | 3687 spdy_reads, arraysize(spdy_reads), |
| 3690 spdy_writes, arraysize(spdy_writes)); | 3688 spdy_writes, arraysize(spdy_writes)); |
| 3691 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); | 3689 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); |
| 3692 | 3690 |
| 3693 SSLSocketDataProvider ssl(ASYNC, OK); | 3691 SSLSocketDataProvider ssl(ASYNC, OK); |
| 3694 ssl.SetNextProto(GetParam()); | 3692 ssl.SetNextProto(GetParam()); |
| 3695 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); | 3693 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); |
| 3696 SSLSocketDataProvider ssl2(ASYNC, OK); | 3694 SSLSocketDataProvider ssl2(ASYNC, OK); |
| 3697 ssl2.SetNextProto(GetParam()); | 3695 ssl2.SetNextProto(GetParam()); |
| 3698 ssl2.protocol_negotiated = GetParam(); | |
| 3699 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); | 3696 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); |
| 3700 | 3697 |
| 3701 TestCompletionCallback callback1; | 3698 TestCompletionCallback callback1; |
| 3702 | 3699 |
| 3703 int rv = trans->Start(&request, callback1.callback(), log.bound()); | 3700 int rv = trans->Start(&request, callback1.callback(), log.bound()); |
| 3704 EXPECT_EQ(ERR_IO_PENDING, rv); | 3701 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 3705 | 3702 |
| 3706 rv = callback1.WaitForResult(); | 3703 rv = callback1.WaitForResult(); |
| 3707 EXPECT_EQ(OK, rv); | 3704 EXPECT_EQ(OK, rv); |
| 3708 | 3705 |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3865 | 3862 |
| 3866 DeterministicSocketData spdy_data( | 3863 DeterministicSocketData spdy_data( |
| 3867 spdy_reads, arraysize(spdy_reads), | 3864 spdy_reads, arraysize(spdy_reads), |
| 3868 spdy_writes, arraysize(spdy_writes)); | 3865 spdy_writes, arraysize(spdy_writes)); |
| 3869 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); | 3866 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); |
| 3870 | 3867 |
| 3871 SSLSocketDataProvider ssl(ASYNC, OK); | 3868 SSLSocketDataProvider ssl(ASYNC, OK); |
| 3872 ssl.SetNextProto(GetParam()); | 3869 ssl.SetNextProto(GetParam()); |
| 3873 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); | 3870 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); |
| 3874 SSLSocketDataProvider ssl2(ASYNC, OK); | 3871 SSLSocketDataProvider ssl2(ASYNC, OK); |
| 3875 ssl2.was_npn_negotiated = false; | |
| 3876 ssl2.protocol_negotiated = kProtoUnknown; | |
| 3877 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); | 3872 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); |
| 3878 SSLSocketDataProvider ssl3(ASYNC, OK); | 3873 SSLSocketDataProvider ssl3(ASYNC, OK); |
| 3879 ssl3.was_npn_negotiated = false; | |
| 3880 ssl3.protocol_negotiated = kProtoUnknown; | |
| 3881 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl3); | 3874 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl3); |
| 3882 | 3875 |
| 3883 TestCompletionCallback callback; | 3876 TestCompletionCallback callback; |
| 3884 | 3877 |
| 3885 scoped_ptr<HttpTransaction> trans( | 3878 scoped_ptr<HttpTransaction> trans( |
| 3886 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 3879 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
| 3887 int rv = trans->Start(&request1, callback.callback(), BoundNetLog()); | 3880 int rv = trans->Start(&request1, callback.callback(), BoundNetLog()); |
| 3888 EXPECT_EQ(ERR_IO_PENDING, rv); | 3881 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 3889 // The first connect and request, each of their responses, and the body. | 3882 // The first connect and request, each of their responses, and the body. |
| 3890 spdy_data.RunFor(5); | 3883 spdy_data.RunFor(5); |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4001 | 3994 |
| 4002 DeterministicSocketData spdy_data( | 3995 DeterministicSocketData spdy_data( |
| 4003 spdy_reads, arraysize(spdy_reads), | 3996 spdy_reads, arraysize(spdy_reads), |
| 4004 spdy_writes, arraysize(spdy_writes)); | 3997 spdy_writes, arraysize(spdy_writes)); |
| 4005 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); | 3998 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); |
| 4006 | 3999 |
| 4007 SSLSocketDataProvider ssl(ASYNC, OK); | 4000 SSLSocketDataProvider ssl(ASYNC, OK); |
| 4008 ssl.SetNextProto(GetParam()); | 4001 ssl.SetNextProto(GetParam()); |
| 4009 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); | 4002 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); |
| 4010 SSLSocketDataProvider ssl2(ASYNC, OK); | 4003 SSLSocketDataProvider ssl2(ASYNC, OK); |
| 4011 ssl2.was_npn_negotiated = false; | |
| 4012 ssl2.protocol_negotiated = kProtoUnknown; | |
| 4013 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); | 4004 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); |
| 4014 | 4005 |
| 4015 TestCompletionCallback callback; | 4006 TestCompletionCallback callback; |
| 4016 | 4007 |
| 4017 scoped_ptr<HttpTransaction> trans( | 4008 scoped_ptr<HttpTransaction> trans( |
| 4018 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | 4009 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); |
| 4019 int rv = trans->Start(&request1, callback.callback(), BoundNetLog()); | 4010 int rv = trans->Start(&request1, callback.callback(), BoundNetLog()); |
| 4020 EXPECT_EQ(ERR_IO_PENDING, rv); | 4011 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 4021 // The first connect and request, each of their responses, and the body. | 4012 // The first connect and request, each of their responses, and the body. |
| 4022 spdy_data.RunFor(5); | 4013 spdy_data.RunFor(5); |
| (...skipping 6319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10342 GetAlternateProtocolHttpHeader(); | 10333 GetAlternateProtocolHttpHeader(); |
| 10343 | 10334 |
| 10344 MockRead data_reads[] = { | 10335 MockRead data_reads[] = { |
| 10345 MockRead("HTTP/1.1 200 OK\r\n"), | 10336 MockRead("HTTP/1.1 200 OK\r\n"), |
| 10346 MockRead(alternate_protocol_http_header.c_str()), | 10337 MockRead(alternate_protocol_http_header.c_str()), |
| 10347 MockRead("hello world"), | 10338 MockRead("hello world"), |
| 10348 MockRead(SYNCHRONOUS, OK), | 10339 MockRead(SYNCHRONOUS, OK), |
| 10349 }; | 10340 }; |
| 10350 | 10341 |
| 10351 SSLSocketDataProvider ssl(ASYNC, OK); | 10342 SSLSocketDataProvider ssl(ASYNC, OK); |
| 10352 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated; | 10343 ssl.SetNextProto(kProtoHTTP11); |
| 10353 ssl.next_proto = "http/1.1"; | |
| 10354 ssl.protocol_negotiated = kProtoHTTP11; | |
| 10355 | 10344 |
| 10356 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); | 10345 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); |
| 10357 | 10346 |
| 10358 StaticSocketDataProvider data(data_reads, arraysize(data_reads), | 10347 StaticSocketDataProvider data(data_reads, arraysize(data_reads), |
| 10359 data_writes, arraysize(data_writes)); | 10348 data_writes, arraysize(data_writes)); |
| 10360 session_deps_.socket_factory->AddSocketDataProvider(&data); | 10349 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 10361 | 10350 |
| 10362 TestCompletionCallback callback; | 10351 TestCompletionCallback callback; |
| 10363 | 10352 |
| 10364 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 10353 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
| (...skipping 3418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13783 ASSERT_TRUE(response); | 13772 ASSERT_TRUE(response); |
| 13784 ASSERT_TRUE(response->headers.get()); | 13773 ASSERT_TRUE(response->headers.get()); |
| 13785 | 13774 |
| 13786 EXPECT_EQ(101, response->headers->response_code()); | 13775 EXPECT_EQ(101, response->headers->response_code()); |
| 13787 | 13776 |
| 13788 trans.reset(); | 13777 trans.reset(); |
| 13789 session->CloseAllConnections(); | 13778 session->CloseAllConnections(); |
| 13790 } | 13779 } |
| 13791 | 13780 |
| 13792 } // namespace net | 13781 } // namespace net |
| OLD | NEW |