| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 ssl_->next_proto_status = SSLClientSocket::kNextProtoNegotiated; | 236 ssl_->next_proto_status = SSLClientSocket::kNextProtoNegotiated; |
| 237 ssl_->next_proto = "spdy/2.1"; | 237 ssl_->next_proto = "spdy/2.1"; |
| 238 ssl_->was_npn_negotiated = true; | 238 ssl_->was_npn_negotiated = true; |
| 239 ssl_->protocol_negotiated = SSLClientSocket::kProtoSPDY21; | 239 ssl_->protocol_negotiated = SSLClientSocket::kProtoSPDY21; |
| 240 } | 240 } |
| 241 ssl_vector_.push_back(ssl_); | 241 ssl_vector_.push_back(ssl_); |
| 242 if (test_type_ == SPDYNPN || test_type_ == SPDYSSL) | 242 if (test_type_ == SPDYNPN || test_type_ == SPDYSSL) |
| 243 session_deps_->socket_factory->AddSSLSocketDataProvider(ssl_.get()); | 243 session_deps_->socket_factory->AddSSLSocketDataProvider(ssl_.get()); |
| 244 session_deps_->socket_factory->AddSocketDataProvider(data); | 244 session_deps_->socket_factory->AddSocketDataProvider(data); |
| 245 if (test_type_ == SPDYNPN) { | 245 if (test_type_ == SPDYNPN) { |
| 246 MockConnect never_finishing_connect(false, ERR_IO_PENDING); | 246 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); |
| 247 linked_ptr<StaticSocketDataProvider> | 247 linked_ptr<StaticSocketDataProvider> |
| 248 hanging_non_alternate_protocol_socket( | 248 hanging_non_alternate_protocol_socket( |
| 249 new StaticSocketDataProvider(NULL, 0, NULL, 0)); | 249 new StaticSocketDataProvider(NULL, 0, NULL, 0)); |
| 250 hanging_non_alternate_protocol_socket->set_connect_data( | 250 hanging_non_alternate_protocol_socket->set_connect_data( |
| 251 never_finishing_connect); | 251 never_finishing_connect); |
| 252 session_deps_->socket_factory->AddSocketDataProvider( | 252 session_deps_->socket_factory->AddSocketDataProvider( |
| 253 hanging_non_alternate_protocol_socket.get()); | 253 hanging_non_alternate_protocol_socket.get()); |
| 254 alternate_vector_.push_back(hanging_non_alternate_protocol_socket); | 254 alternate_vector_.push_back(hanging_non_alternate_protocol_socket); |
| 255 } | 255 } |
| 256 } | 256 } |
| 257 | 257 |
| 258 void AddDeterministicData(DeterministicSocketData* data) { | 258 void AddDeterministicData(DeterministicSocketData* data) { |
| 259 DCHECK(deterministic_); | 259 DCHECK(deterministic_); |
| 260 data_vector_.push_back(data); | 260 data_vector_.push_back(data); |
| 261 linked_ptr<SSLSocketDataProvider> ssl_( | 261 linked_ptr<SSLSocketDataProvider> ssl_( |
| 262 new SSLSocketDataProvider(true, OK)); | 262 new SSLSocketDataProvider(true, OK)); |
| 263 if (test_type_ == SPDYNPN) { | 263 if (test_type_ == SPDYNPN) { |
| 264 ssl_->next_proto_status = SSLClientSocket::kNextProtoNegotiated; | 264 ssl_->next_proto_status = SSLClientSocket::kNextProtoNegotiated; |
| 265 ssl_->next_proto = "spdy/2.1"; | 265 ssl_->next_proto = "spdy/2.1"; |
| 266 ssl_->was_npn_negotiated = true; | 266 ssl_->was_npn_negotiated = true; |
| 267 ssl_->protocol_negotiated = SSLClientSocket::kProtoSPDY21; | 267 ssl_->protocol_negotiated = SSLClientSocket::kProtoSPDY21; |
| 268 } | 268 } |
| 269 ssl_vector_.push_back(ssl_); | 269 ssl_vector_.push_back(ssl_); |
| 270 if (test_type_ == SPDYNPN || test_type_ == SPDYSSL) { | 270 if (test_type_ == SPDYNPN || test_type_ == SPDYSSL) { |
| 271 session_deps_->deterministic_socket_factory-> | 271 session_deps_->deterministic_socket_factory-> |
| 272 AddSSLSocketDataProvider(ssl_.get()); | 272 AddSSLSocketDataProvider(ssl_.get()); |
| 273 } | 273 } |
| 274 session_deps_->deterministic_socket_factory->AddSocketDataProvider(data); | 274 session_deps_->deterministic_socket_factory->AddSocketDataProvider(data); |
| 275 if (test_type_ == SPDYNPN) { | 275 if (test_type_ == SPDYNPN) { |
| 276 MockConnect never_finishing_connect(false, ERR_IO_PENDING); | 276 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); |
| 277 scoped_refptr<DeterministicSocketData> | 277 scoped_refptr<DeterministicSocketData> |
| 278 hanging_non_alternate_protocol_socket( | 278 hanging_non_alternate_protocol_socket( |
| 279 new DeterministicSocketData(NULL, 0, NULL, 0)); | 279 new DeterministicSocketData(NULL, 0, NULL, 0)); |
| 280 hanging_non_alternate_protocol_socket->set_connect_data( | 280 hanging_non_alternate_protocol_socket->set_connect_data( |
| 281 never_finishing_connect); | 281 never_finishing_connect); |
| 282 session_deps_->deterministic_socket_factory->AddSocketDataProvider( | 282 session_deps_->deterministic_socket_factory->AddSocketDataProvider( |
| 283 hanging_non_alternate_protocol_socket); | 283 hanging_non_alternate_protocol_socket); |
| 284 alternate_deterministic_vector_.push_back( | 284 alternate_deterministic_vector_.push_back( |
| 285 hanging_non_alternate_protocol_socket); | 285 hanging_non_alternate_protocol_socket); |
| 286 } | 286 } |
| (...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 751 CreateMockRead(*resp2, 4), | 751 CreateMockRead(*resp2, 4), |
| 752 CreateMockRead(*body2), | 752 CreateMockRead(*body2), |
| 753 CreateMockRead(*fbody), | 753 CreateMockRead(*fbody), |
| 754 CreateMockRead(*fbody2), | 754 CreateMockRead(*fbody2), |
| 755 MockRead(true, 0, 0), // EOF | 755 MockRead(true, 0, 0), // EOF |
| 756 }; | 756 }; |
| 757 scoped_ptr<OrderedSocketData> data( | 757 scoped_ptr<OrderedSocketData> data( |
| 758 new OrderedSocketData(reads, arraysize(reads), | 758 new OrderedSocketData(reads, arraysize(reads), |
| 759 writes, arraysize(writes))); | 759 writes, arraysize(writes))); |
| 760 | 760 |
| 761 MockConnect never_finishing_connect(false, ERR_IO_PENDING); | 761 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); |
| 762 | 762 |
| 763 scoped_ptr<OrderedSocketData> data_placeholder( | 763 scoped_ptr<OrderedSocketData> data_placeholder( |
| 764 new OrderedSocketData(NULL, 0, NULL, 0)); | 764 new OrderedSocketData(NULL, 0, NULL, 0)); |
| 765 data_placeholder->set_connect_data(never_finishing_connect); | 765 data_placeholder->set_connect_data(never_finishing_connect); |
| 766 | 766 |
| 767 BoundNetLog log; | 767 BoundNetLog log; |
| 768 TransactionHelperResult out; | 768 TransactionHelperResult out; |
| 769 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 769 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 770 BoundNetLog(), GetParam()); | 770 BoundNetLog(), GetParam()); |
| 771 helper.RunPreTestSetup(); | 771 helper.RunPreTestSetup(); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 838 CreateMockRead(*resp2, 4), | 838 CreateMockRead(*resp2, 4), |
| 839 CreateMockRead(*body2), | 839 CreateMockRead(*body2), |
| 840 CreateMockRead(*fbody), | 840 CreateMockRead(*fbody), |
| 841 CreateMockRead(*fbody2), | 841 CreateMockRead(*fbody2), |
| 842 MockRead(true, 0, 0), // EOF | 842 MockRead(true, 0, 0), // EOF |
| 843 }; | 843 }; |
| 844 scoped_ptr<OrderedSocketData> preconnect_data( | 844 scoped_ptr<OrderedSocketData> preconnect_data( |
| 845 new OrderedSocketData(reads, arraysize(reads), | 845 new OrderedSocketData(reads, arraysize(reads), |
| 846 writes, arraysize(writes))); | 846 writes, arraysize(writes))); |
| 847 | 847 |
| 848 MockConnect never_finishing_connect(true, ERR_IO_PENDING); | 848 MockConnect never_finishing_connect(ASYNC, ERR_IO_PENDING); |
| 849 | 849 |
| 850 scoped_ptr<OrderedSocketData> data_placeholder( | 850 scoped_ptr<OrderedSocketData> data_placeholder( |
| 851 new OrderedSocketData(NULL, 0, NULL, 0)); | 851 new OrderedSocketData(NULL, 0, NULL, 0)); |
| 852 data_placeholder->set_connect_data(never_finishing_connect); | 852 data_placeholder->set_connect_data(never_finishing_connect); |
| 853 | 853 |
| 854 BoundNetLog log; | 854 BoundNetLog log; |
| 855 TransactionHelperResult out; | 855 TransactionHelperResult out; |
| 856 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 856 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 857 BoundNetLog(), GetParam()); | 857 BoundNetLog(), GetParam()); |
| 858 helper.RunPreTestSetup(); | 858 helper.RunPreTestSetup(); |
| (...skipping 4845 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5704 << " Write index: " | 5704 << " Write index: " |
| 5705 << data->write_index(); | 5705 << data->write_index(); |
| 5706 | 5706 |
| 5707 // Verify the SYN_REPLY. | 5707 // Verify the SYN_REPLY. |
| 5708 HttpResponseInfo response = *trans->GetResponseInfo(); | 5708 HttpResponseInfo response = *trans->GetResponseInfo(); |
| 5709 EXPECT_TRUE(response.headers != NULL); | 5709 EXPECT_TRUE(response.headers != NULL); |
| 5710 EXPECT_EQ("HTTP/1.1 200 OK", response.headers->GetStatusLine()); | 5710 EXPECT_EQ("HTTP/1.1 200 OK", response.headers->GetStatusLine()); |
| 5711 } | 5711 } |
| 5712 | 5712 |
| 5713 } // namespace net | 5713 } // namespace net |
| OLD | NEW |