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 |