OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
553 MockWrite writes[] = { CreateMockWrite(*req) }; | 553 MockWrite writes[] = { CreateMockWrite(*req) }; |
554 | 554 |
555 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 555 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
556 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 556 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
557 MockRead reads[] = { | 557 MockRead reads[] = { |
558 CreateMockRead(*resp), | 558 CreateMockRead(*resp), |
559 CreateMockRead(*body), | 559 CreateMockRead(*body), |
560 MockRead(true, 0, 0) // EOF | 560 MockRead(true, 0, 0) // EOF |
561 }; | 561 }; |
562 | 562 |
563 scoped_refptr<DelayedSocketData> data( | 563 scoped_ptr<DelayedSocketData> data( |
564 new DelayedSocketData(1, reads, arraysize(reads), | 564 new DelayedSocketData(1, reads, arraysize(reads), |
565 writes, arraysize(writes))); | 565 writes, arraysize(writes))); |
566 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 566 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
567 BoundNetLog(), GetParam()); | 567 BoundNetLog(), GetParam()); |
568 helper.RunToCompletion(data.get()); | 568 helper.RunToCompletion(data.get()); |
569 TransactionHelperResult out = helper.output(); | 569 TransactionHelperResult out = helper.output(); |
570 EXPECT_EQ(OK, out.rv); | 570 EXPECT_EQ(OK, out.rv); |
571 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 571 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
572 EXPECT_EQ("hello!", out.response_data); | 572 EXPECT_EQ("hello!", out.response_data); |
573 } | 573 } |
(...skipping 29 matching lines...) Expand all Loading... |
603 } | 603 } |
604 | 604 |
605 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 605 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
606 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 606 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
607 MockRead reads[] = { | 607 MockRead reads[] = { |
608 CreateMockRead(*resp), | 608 CreateMockRead(*resp), |
609 CreateMockRead(*body), | 609 CreateMockRead(*body), |
610 MockRead(true, 0, 0) // EOF | 610 MockRead(true, 0, 0) // EOF |
611 }; | 611 }; |
612 | 612 |
613 scoped_refptr<DelayedSocketData> data( | 613 scoped_ptr<DelayedSocketData> data( |
614 new DelayedSocketData(1, reads, arraysize(reads), | 614 new DelayedSocketData(1, reads, arraysize(reads), |
615 writes, arraysize(writes))); | 615 writes, arraysize(writes))); |
616 HttpRequestInfo http_req = CreateGetRequest(); | 616 HttpRequestInfo http_req = CreateGetRequest(); |
617 http_req.priority = p; | 617 http_req.priority = p; |
618 | 618 |
619 NormalSpdyTransactionHelper helper(http_req, BoundNetLog(), GetParam()); | 619 NormalSpdyTransactionHelper helper(http_req, BoundNetLog(), GetParam()); |
620 helper.RunToCompletion(data.get()); | 620 helper.RunToCompletion(data.get()); |
621 TransactionHelperResult out = helper.output(); | 621 TransactionHelperResult out = helper.output(); |
622 EXPECT_EQ(OK, out.rv); | 622 EXPECT_EQ(OK, out.rv); |
623 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 623 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
663 CreateMockRead(*body2), | 663 CreateMockRead(*body2), |
664 CreateMockRead(*resp3, 7), | 664 CreateMockRead(*resp3, 7), |
665 CreateMockRead(*body3), | 665 CreateMockRead(*body3), |
666 | 666 |
667 CreateMockRead(*fbody), | 667 CreateMockRead(*fbody), |
668 CreateMockRead(*fbody2), | 668 CreateMockRead(*fbody2), |
669 CreateMockRead(*fbody3), | 669 CreateMockRead(*fbody3), |
670 | 670 |
671 MockRead(true, 0, 0), // EOF | 671 MockRead(true, 0, 0), // EOF |
672 }; | 672 }; |
673 scoped_refptr<OrderedSocketData> data( | 673 scoped_ptr<OrderedSocketData> data( |
674 new OrderedSocketData(reads, arraysize(reads), | 674 new OrderedSocketData(reads, arraysize(reads), |
675 writes, arraysize(writes))); | 675 writes, arraysize(writes))); |
676 scoped_refptr<OrderedSocketData> data_placeholder( | 676 scoped_ptr<OrderedSocketData> data_placeholder( |
677 new OrderedSocketData(NULL, 0, NULL, 0)); | 677 new OrderedSocketData(NULL, 0, NULL, 0)); |
678 | 678 |
679 BoundNetLog log; | 679 BoundNetLog log; |
680 TransactionHelperResult out; | 680 TransactionHelperResult out; |
681 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 681 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
682 BoundNetLog(), GetParam()); | 682 BoundNetLog(), GetParam()); |
683 helper.RunPreTestSetup(); | 683 helper.RunPreTestSetup(); |
684 helper.AddData(data.get()); | 684 helper.AddData(data.get()); |
685 // We require placeholder data because three get requests are sent out, so | 685 // We require placeholder data because three get requests are sent out, so |
686 // there needs to be three sets of SSL connection data. | 686 // there needs to be three sets of SSL connection data. |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
747 }; | 747 }; |
748 MockRead reads[] = { | 748 MockRead reads[] = { |
749 CreateMockRead(*resp, 1), | 749 CreateMockRead(*resp, 1), |
750 CreateMockRead(*body), | 750 CreateMockRead(*body), |
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_refptr<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(false, ERR_IO_PENDING); |
762 | 762 |
763 scoped_refptr<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(); |
772 helper.AddData(data.get()); | 772 helper.AddData(data.get()); |
773 // We require placeholder data because two get requests are sent out, so | 773 // We require placeholder data because two get requests are sent out, so |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
834 }; | 834 }; |
835 MockRead reads[] = { | 835 MockRead reads[] = { |
836 CreateMockRead(*resp, 1), | 836 CreateMockRead(*resp, 1), |
837 CreateMockRead(*body), | 837 CreateMockRead(*body), |
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_refptr<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(true, ERR_IO_PENDING); |
849 | 849 |
850 scoped_refptr<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(); |
859 helper.AddData(preconnect_data.get()); | 859 helper.AddData(preconnect_data.get()); |
860 // We require placeholder data because 3 connections are attempted (first is | 860 // We require placeholder data because 3 connections are attempted (first is |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
961 CreateMockRead(*resp2, 7), | 961 CreateMockRead(*resp2, 7), |
962 CreateMockRead(*body2), | 962 CreateMockRead(*body2), |
963 CreateMockRead(*fbody2), | 963 CreateMockRead(*fbody2), |
964 CreateMockRead(*resp3, 12), | 964 CreateMockRead(*resp3, 12), |
965 CreateMockRead(*body3), | 965 CreateMockRead(*body3), |
966 CreateMockRead(*fbody3), | 966 CreateMockRead(*fbody3), |
967 | 967 |
968 MockRead(true, 0, 0), // EOF | 968 MockRead(true, 0, 0), // EOF |
969 }; | 969 }; |
970 | 970 |
971 scoped_refptr<OrderedSocketData> data( | 971 scoped_ptr<OrderedSocketData> data( |
972 new OrderedSocketData(reads, arraysize(reads), | 972 new OrderedSocketData(reads, arraysize(reads), |
973 writes, arraysize(writes))); | 973 writes, arraysize(writes))); |
974 scoped_refptr<OrderedSocketData> data_placeholder( | 974 scoped_ptr<OrderedSocketData> data_placeholder( |
975 new OrderedSocketData(NULL, 0, NULL, 0)); | 975 new OrderedSocketData(NULL, 0, NULL, 0)); |
976 | 976 |
977 BoundNetLog log; | 977 BoundNetLog log; |
978 TransactionHelperResult out; | 978 TransactionHelperResult out; |
979 { | 979 { |
980 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 980 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
981 BoundNetLog(), GetParam()); | 981 BoundNetLog(), GetParam()); |
982 helper.RunPreTestSetup(); | 982 helper.RunPreTestSetup(); |
983 helper.AddData(data.get()); | 983 helper.AddData(data.get()); |
984 // We require placeholder data because three get requests are sent out, so | 984 // We require placeholder data because three get requests are sent out, so |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1101 CreateMockRead(*fbody2), | 1101 CreateMockRead(*fbody2), |
1102 CreateMockRead(*resp4, 13), | 1102 CreateMockRead(*resp4, 13), |
1103 CreateMockRead(*fbody4), | 1103 CreateMockRead(*fbody4), |
1104 CreateMockRead(*resp3, 16), | 1104 CreateMockRead(*resp3, 16), |
1105 CreateMockRead(*body3), | 1105 CreateMockRead(*body3), |
1106 CreateMockRead(*fbody3), | 1106 CreateMockRead(*fbody3), |
1107 | 1107 |
1108 MockRead(true, 0, 0), // EOF | 1108 MockRead(true, 0, 0), // EOF |
1109 }; | 1109 }; |
1110 | 1110 |
1111 scoped_refptr<OrderedSocketData> data( | 1111 scoped_ptr<OrderedSocketData> data( |
1112 new OrderedSocketData(reads, arraysize(reads), | 1112 new OrderedSocketData(reads, arraysize(reads), |
1113 writes, arraysize(writes))); | 1113 writes, arraysize(writes))); |
1114 scoped_refptr<OrderedSocketData> data_placeholder( | 1114 scoped_ptr<OrderedSocketData> data_placeholder( |
1115 new OrderedSocketData(NULL, 0, NULL, 0)); | 1115 new OrderedSocketData(NULL, 0, NULL, 0)); |
1116 | 1116 |
1117 BoundNetLog log; | 1117 BoundNetLog log; |
1118 TransactionHelperResult out; | 1118 TransactionHelperResult out; |
1119 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1119 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
1120 BoundNetLog(), GetParam()); | 1120 BoundNetLog(), GetParam()); |
1121 helper.RunPreTestSetup(); | 1121 helper.RunPreTestSetup(); |
1122 helper.AddData(data.get()); | 1122 helper.AddData(data.get()); |
1123 // We require placeholder data because four get requests are sent out, so | 1123 // We require placeholder data because four get requests are sent out, so |
1124 // there needs to be four sets of SSL connection data. | 1124 // there needs to be four sets of SSL connection data. |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1238 CreateMockRead(*settings_frame, 1), | 1238 CreateMockRead(*settings_frame, 1), |
1239 CreateMockRead(*resp), | 1239 CreateMockRead(*resp), |
1240 CreateMockRead(*body), | 1240 CreateMockRead(*body), |
1241 CreateMockRead(*fbody), | 1241 CreateMockRead(*fbody), |
1242 CreateMockRead(*resp2, 7), | 1242 CreateMockRead(*resp2, 7), |
1243 CreateMockRead(*body2), | 1243 CreateMockRead(*body2), |
1244 CreateMockRead(*fbody2), | 1244 CreateMockRead(*fbody2), |
1245 MockRead(true, 0, 0), // EOF | 1245 MockRead(true, 0, 0), // EOF |
1246 }; | 1246 }; |
1247 | 1247 |
1248 scoped_refptr<OrderedSocketData> data( | 1248 scoped_ptr<OrderedSocketData> data( |
1249 new OrderedSocketData(reads, arraysize(reads), | 1249 new OrderedSocketData(reads, arraysize(reads), |
1250 writes, arraysize(writes))); | 1250 writes, arraysize(writes))); |
1251 scoped_refptr<OrderedSocketData> data_placeholder( | 1251 scoped_ptr<OrderedSocketData> data_placeholder( |
1252 new OrderedSocketData(NULL, 0, NULL, 0)); | 1252 new OrderedSocketData(NULL, 0, NULL, 0)); |
1253 | 1253 |
1254 BoundNetLog log; | 1254 BoundNetLog log; |
1255 TransactionHelperResult out; | 1255 TransactionHelperResult out; |
1256 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1256 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
1257 BoundNetLog(), GetParam()); | 1257 BoundNetLog(), GetParam()); |
1258 helper.RunPreTestSetup(); | 1258 helper.RunPreTestSetup(); |
1259 helper.AddData(data.get()); | 1259 helper.AddData(data.get()); |
1260 // We require placeholder data because three get requests are sent out, so | 1260 // We require placeholder data because three get requests are sent out, so |
1261 // there needs to be three sets of SSL connection data. | 1261 // there needs to be three sets of SSL connection data. |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1368 }; | 1368 }; |
1369 MockRead reads[] = { | 1369 MockRead reads[] = { |
1370 CreateMockRead(*settings_frame, 1), | 1370 CreateMockRead(*settings_frame, 1), |
1371 CreateMockRead(*resp), | 1371 CreateMockRead(*resp), |
1372 CreateMockRead(*body), | 1372 CreateMockRead(*body), |
1373 CreateMockRead(*fin_body), | 1373 CreateMockRead(*fin_body), |
1374 CreateMockRead(*resp2, 7), | 1374 CreateMockRead(*resp2, 7), |
1375 MockRead(true, ERR_CONNECTION_RESET, 0), // Abort! | 1375 MockRead(true, ERR_CONNECTION_RESET, 0), // Abort! |
1376 }; | 1376 }; |
1377 | 1377 |
1378 scoped_refptr<OrderedSocketData> data( | 1378 scoped_ptr<OrderedSocketData> data( |
1379 new OrderedSocketData(reads, arraysize(reads), | 1379 new OrderedSocketData(reads, arraysize(reads), |
1380 writes, arraysize(writes))); | 1380 writes, arraysize(writes))); |
1381 scoped_refptr<OrderedSocketData> data_placeholder( | 1381 scoped_ptr<OrderedSocketData> data_placeholder( |
1382 new OrderedSocketData(NULL, 0, NULL, 0)); | 1382 new OrderedSocketData(NULL, 0, NULL, 0)); |
1383 | 1383 |
1384 BoundNetLog log; | 1384 BoundNetLog log; |
1385 TransactionHelperResult out; | 1385 TransactionHelperResult out; |
1386 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1386 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
1387 BoundNetLog(), GetParam()); | 1387 BoundNetLog(), GetParam()); |
1388 helper.RunPreTestSetup(); | 1388 helper.RunPreTestSetup(); |
1389 helper.AddData(data.get()); | 1389 helper.AddData(data.get()); |
1390 // We require placeholder data because three get requests are sent out, so | 1390 // We require placeholder data because three get requests are sent out, so |
1391 // there needs to be three sets of SSL connection data. | 1391 // there needs to be three sets of SSL connection data. |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1490 "content-length", "1234" | 1490 "content-length", "1234" |
1491 }; | 1491 }; |
1492 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPacket(kSynReplyHeader, | 1492 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPacket(kSynReplyHeader, |
1493 NULL, 0, kStandardGetHeaders, arraysize(kStandardGetHeaders) / 2)); | 1493 NULL, 0, kStandardGetHeaders, arraysize(kStandardGetHeaders) / 2)); |
1494 MockRead reads[] = { | 1494 MockRead reads[] = { |
1495 CreateMockRead(*resp), | 1495 CreateMockRead(*resp), |
1496 CreateMockRead(*body), | 1496 CreateMockRead(*body), |
1497 MockRead(true, 0, 0) // EOF | 1497 MockRead(true, 0, 0) // EOF |
1498 }; | 1498 }; |
1499 | 1499 |
1500 scoped_refptr<DelayedSocketData> data( | 1500 scoped_ptr<DelayedSocketData> data( |
1501 new DelayedSocketData(1, reads, arraysize(reads), | 1501 new DelayedSocketData(1, reads, arraysize(reads), |
1502 writes, arraysize(writes))); | 1502 writes, arraysize(writes))); |
1503 NormalSpdyTransactionHelper helper(request, | 1503 NormalSpdyTransactionHelper helper(request, |
1504 BoundNetLog(), GetParam()); | 1504 BoundNetLog(), GetParam()); |
1505 helper.RunToCompletion(data.get()); | 1505 helper.RunToCompletion(data.get()); |
1506 TransactionHelperResult out = helper.output(); | 1506 TransactionHelperResult out = helper.output(); |
1507 | 1507 |
1508 EXPECT_EQ(OK, out.rv); | 1508 EXPECT_EQ(OK, out.rv); |
1509 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1509 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
1510 } | 1510 } |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1561 "content-length", "1234" | 1561 "content-length", "1234" |
1562 }; | 1562 }; |
1563 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPacket(kSynReplyHeader, | 1563 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPacket(kSynReplyHeader, |
1564 NULL, 0, kStandardGetHeaders, arraysize(kStandardGetHeaders) / 2)); | 1564 NULL, 0, kStandardGetHeaders, arraysize(kStandardGetHeaders) / 2)); |
1565 MockRead reads[] = { | 1565 MockRead reads[] = { |
1566 CreateMockRead(*resp), | 1566 CreateMockRead(*resp), |
1567 CreateMockRead(*body), | 1567 CreateMockRead(*body), |
1568 MockRead(true, 0, 0) // EOF | 1568 MockRead(true, 0, 0) // EOF |
1569 }; | 1569 }; |
1570 | 1570 |
1571 scoped_refptr<DelayedSocketData> data( | 1571 scoped_ptr<DelayedSocketData> data( |
1572 new DelayedSocketData(1, reads, arraysize(reads), | 1572 new DelayedSocketData(1, reads, arraysize(reads), |
1573 writes, arraysize(writes))); | 1573 writes, arraysize(writes))); |
1574 NormalSpdyTransactionHelper helper(request, | 1574 NormalSpdyTransactionHelper helper(request, |
1575 BoundNetLog(), GetParam()); | 1575 BoundNetLog(), GetParam()); |
1576 helper.RunToCompletion(data.get()); | 1576 helper.RunToCompletion(data.get()); |
1577 TransactionHelperResult out = helper.output(); | 1577 TransactionHelperResult out = helper.output(); |
1578 | 1578 |
1579 EXPECT_EQ(OK, out.rv); | 1579 EXPECT_EQ(OK, out.rv); |
1580 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1580 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
1581 } | 1581 } |
1582 | 1582 |
1583 // Test that a simple POST works. | 1583 // Test that a simple POST works. |
1584 TEST_P(SpdyNetworkTransactionTest, Post) { | 1584 TEST_P(SpdyNetworkTransactionTest, Post) { |
1585 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyPost(kUploadDataSize, NULL, 0)); | 1585 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyPost(kUploadDataSize, NULL, 0)); |
1586 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 1586 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
1587 MockWrite writes[] = { | 1587 MockWrite writes[] = { |
1588 CreateMockWrite(*req), | 1588 CreateMockWrite(*req), |
1589 CreateMockWrite(*body), // POST upload frame | 1589 CreateMockWrite(*body), // POST upload frame |
1590 }; | 1590 }; |
1591 | 1591 |
1592 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); | 1592 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); |
1593 MockRead reads[] = { | 1593 MockRead reads[] = { |
1594 CreateMockRead(*resp), | 1594 CreateMockRead(*resp), |
1595 CreateMockRead(*body), | 1595 CreateMockRead(*body), |
1596 MockRead(true, 0, 0) // EOF | 1596 MockRead(true, 0, 0) // EOF |
1597 }; | 1597 }; |
1598 | 1598 |
1599 scoped_refptr<DelayedSocketData> data( | 1599 scoped_ptr<DelayedSocketData> data( |
1600 new DelayedSocketData(2, reads, arraysize(reads), | 1600 new DelayedSocketData(2, reads, arraysize(reads), |
1601 writes, arraysize(writes))); | 1601 writes, arraysize(writes))); |
1602 NormalSpdyTransactionHelper helper(CreatePostRequest(), | 1602 NormalSpdyTransactionHelper helper(CreatePostRequest(), |
1603 BoundNetLog(), GetParam()); | 1603 BoundNetLog(), GetParam()); |
1604 helper.RunToCompletion(data.get()); | 1604 helper.RunToCompletion(data.get()); |
1605 TransactionHelperResult out = helper.output(); | 1605 TransactionHelperResult out = helper.output(); |
1606 EXPECT_EQ(OK, out.rv); | 1606 EXPECT_EQ(OK, out.rv); |
1607 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1607 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
1608 EXPECT_EQ("hello!", out.response_data); | 1608 EXPECT_EQ("hello!", out.response_data); |
1609 } | 1609 } |
(...skipping 11 matching lines...) Expand all Loading... |
1621 }; | 1621 }; |
1622 | 1622 |
1623 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); | 1623 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); |
1624 MockRead reads[] = { | 1624 MockRead reads[] = { |
1625 CreateMockRead(*resp), | 1625 CreateMockRead(*resp), |
1626 CreateMockRead(*chunk1), | 1626 CreateMockRead(*chunk1), |
1627 CreateMockRead(*chunk2), | 1627 CreateMockRead(*chunk2), |
1628 MockRead(true, 0, 0) // EOF | 1628 MockRead(true, 0, 0) // EOF |
1629 }; | 1629 }; |
1630 | 1630 |
1631 scoped_refptr<DelayedSocketData> data( | 1631 scoped_ptr<DelayedSocketData> data( |
1632 new DelayedSocketData(2, reads, arraysize(reads), | 1632 new DelayedSocketData(2, reads, arraysize(reads), |
1633 writes, arraysize(writes))); | 1633 writes, arraysize(writes))); |
1634 NormalSpdyTransactionHelper helper(CreateChunkedPostRequest(), | 1634 NormalSpdyTransactionHelper helper(CreateChunkedPostRequest(), |
1635 BoundNetLog(), GetParam()); | 1635 BoundNetLog(), GetParam()); |
1636 helper.RunToCompletion(data.get()); | 1636 helper.RunToCompletion(data.get()); |
1637 TransactionHelperResult out = helper.output(); | 1637 TransactionHelperResult out = helper.output(); |
1638 EXPECT_EQ(OK, out.rv); | 1638 EXPECT_EQ(OK, out.rv); |
1639 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1639 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
1640 EXPECT_EQ("hello!hello!", out.response_data); | 1640 EXPECT_EQ("hello!hello!", out.response_data); |
1641 } | 1641 } |
(...skipping 17 matching lines...) Expand all Loading... |
1659 }; | 1659 }; |
1660 | 1660 |
1661 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); | 1661 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); |
1662 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 1662 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
1663 MockRead reads[] = { | 1663 MockRead reads[] = { |
1664 CreateMockRead(*resp), | 1664 CreateMockRead(*resp), |
1665 CreateMockRead(*body), | 1665 CreateMockRead(*body), |
1666 MockRead(true, 0, 0) // EOF | 1666 MockRead(true, 0, 0) // EOF |
1667 }; | 1667 }; |
1668 | 1668 |
1669 scoped_refptr<DelayedSocketData> data( | 1669 scoped_ptr<DelayedSocketData> data( |
1670 new DelayedSocketData(1, reads, arraysize(reads), | 1670 new DelayedSocketData(1, reads, arraysize(reads), |
1671 writes, arraysize(writes))); | 1671 writes, arraysize(writes))); |
1672 | 1672 |
1673 NormalSpdyTransactionHelper helper(request, | 1673 NormalSpdyTransactionHelper helper(request, |
1674 BoundNetLog(), GetParam()); | 1674 BoundNetLog(), GetParam()); |
1675 helper.RunToCompletion(data.get()); | 1675 helper.RunToCompletion(data.get()); |
1676 TransactionHelperResult out = helper.output(); | 1676 TransactionHelperResult out = helper.output(); |
1677 EXPECT_EQ(OK, out.rv); | 1677 EXPECT_EQ(OK, out.rv); |
1678 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1678 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
1679 EXPECT_EQ("hello!", out.response_data); | 1679 EXPECT_EQ("hello!", out.response_data); |
(...skipping 23 matching lines...) Expand all Loading... |
1703 }; | 1703 }; |
1704 | 1704 |
1705 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); | 1705 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); |
1706 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 1706 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
1707 MockRead reads[] = { | 1707 MockRead reads[] = { |
1708 CreateMockRead(*resp), | 1708 CreateMockRead(*resp), |
1709 CreateMockRead(*body), | 1709 CreateMockRead(*body), |
1710 MockRead(true, 0, 0) // EOF | 1710 MockRead(true, 0, 0) // EOF |
1711 }; | 1711 }; |
1712 | 1712 |
1713 scoped_refptr<DelayedSocketData> data( | 1713 scoped_ptr<DelayedSocketData> data( |
1714 new DelayedSocketData(1, reads, arraysize(reads), | 1714 new DelayedSocketData(1, reads, arraysize(reads), |
1715 writes, arraysize(writes))); | 1715 writes, arraysize(writes))); |
1716 | 1716 |
1717 NormalSpdyTransactionHelper helper(request, | 1717 NormalSpdyTransactionHelper helper(request, |
1718 BoundNetLog(), GetParam()); | 1718 BoundNetLog(), GetParam()); |
1719 helper.RunToCompletion(data.get()); | 1719 helper.RunToCompletion(data.get()); |
1720 TransactionHelperResult out = helper.output(); | 1720 TransactionHelperResult out = helper.output(); |
1721 EXPECT_EQ(OK, out.rv); | 1721 EXPECT_EQ(OK, out.rv); |
1722 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1722 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
1723 EXPECT_EQ("hello!", out.response_data); | 1723 EXPECT_EQ("hello!", out.response_data); |
(...skipping 16 matching lines...) Expand all Loading... |
1740 request.upload_data, NULL)); | 1740 request.upload_data, NULL)); |
1741 ASSERT_EQ(request.upload_data->GetContentLength(), stream->size()); | 1741 ASSERT_EQ(request.upload_data->GetContentLength(), stream->size()); |
1742 scoped_ptr<spdy::SpdyFrame> stream_reply(ConstructSpdyPostSynReply(NULL, 0)); | 1742 scoped_ptr<spdy::SpdyFrame> stream_reply(ConstructSpdyPostSynReply(NULL, 0)); |
1743 scoped_ptr<spdy::SpdyFrame> stream_body(ConstructSpdyBodyFrame(1, true)); | 1743 scoped_ptr<spdy::SpdyFrame> stream_body(ConstructSpdyBodyFrame(1, true)); |
1744 MockRead reads[] = { | 1744 MockRead reads[] = { |
1745 CreateMockRead(*stream_reply, 2), | 1745 CreateMockRead(*stream_reply, 2), |
1746 CreateMockRead(*stream_body, 3), | 1746 CreateMockRead(*stream_body, 3), |
1747 MockRead(false, 0, 0) // EOF | 1747 MockRead(false, 0, 0) // EOF |
1748 }; | 1748 }; |
1749 | 1749 |
1750 scoped_refptr<DelayedSocketData> data( | 1750 scoped_ptr<DelayedSocketData> data( |
1751 new DelayedSocketData(0, reads, arraysize(reads), NULL, 0)); | 1751 new DelayedSocketData(0, reads, arraysize(reads), NULL, 0)); |
1752 NormalSpdyTransactionHelper helper(request, | 1752 NormalSpdyTransactionHelper helper(request, |
1753 BoundNetLog(), GetParam()); | 1753 BoundNetLog(), GetParam()); |
1754 helper.RunPreTestSetup(); | 1754 helper.RunPreTestSetup(); |
1755 helper.AddData(data.get()); | 1755 helper.AddData(data.get()); |
1756 helper.RunDefaultTest(); | 1756 helper.RunDefaultTest(); |
1757 helper.VerifyDataConsumed(); | 1757 helper.VerifyDataConsumed(); |
1758 | 1758 |
1759 TransactionHelperResult out = helper.output(); | 1759 TransactionHelperResult out = helper.output(); |
1760 EXPECT_EQ(ERR_SYN_REPLY_NOT_RECEIVED, out.rv); | 1760 EXPECT_EQ(ERR_SYN_REPLY_NOT_RECEIVED, out.rv); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1804 } | 1804 } |
1805 | 1805 |
1806 // Test that the transaction doesn't crash when we don't have a reply. | 1806 // Test that the transaction doesn't crash when we don't have a reply. |
1807 TEST_P(SpdyNetworkTransactionTest, ResponseWithoutSynReply) { | 1807 TEST_P(SpdyNetworkTransactionTest, ResponseWithoutSynReply) { |
1808 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 1808 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
1809 MockRead reads[] = { | 1809 MockRead reads[] = { |
1810 CreateMockRead(*body), | 1810 CreateMockRead(*body), |
1811 MockRead(true, 0, 0) // EOF | 1811 MockRead(true, 0, 0) // EOF |
1812 }; | 1812 }; |
1813 | 1813 |
1814 scoped_refptr<DelayedSocketData> data( | 1814 scoped_ptr<DelayedSocketData> data( |
1815 new DelayedSocketData(1, reads, arraysize(reads), NULL, 0)); | 1815 new DelayedSocketData(1, reads, arraysize(reads), NULL, 0)); |
1816 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1816 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
1817 BoundNetLog(), GetParam()); | 1817 BoundNetLog(), GetParam()); |
1818 helper.RunToCompletion(data.get()); | 1818 helper.RunToCompletion(data.get()); |
1819 TransactionHelperResult out = helper.output(); | 1819 TransactionHelperResult out = helper.output(); |
1820 EXPECT_EQ(ERR_SYN_REPLY_NOT_RECEIVED, out.rv); | 1820 EXPECT_EQ(ERR_SYN_REPLY_NOT_RECEIVED, out.rv); |
1821 } | 1821 } |
1822 | 1822 |
1823 // Test that the transaction doesn't crash when we get two replies on the same | 1823 // Test that the transaction doesn't crash when we get two replies on the same |
1824 // stream ID. See http://crbug.com/45639. | 1824 // stream ID. See http://crbug.com/45639. |
1825 TEST_P(SpdyNetworkTransactionTest, ResponseWithTwoSynReplies) { | 1825 TEST_P(SpdyNetworkTransactionTest, ResponseWithTwoSynReplies) { |
1826 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); | 1826 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); |
1827 MockWrite writes[] = { CreateMockWrite(*req) }; | 1827 MockWrite writes[] = { CreateMockWrite(*req) }; |
1828 | 1828 |
1829 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 1829 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
1830 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 1830 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
1831 MockRead reads[] = { | 1831 MockRead reads[] = { |
1832 CreateMockRead(*resp), | 1832 CreateMockRead(*resp), |
1833 CreateMockRead(*resp), | 1833 CreateMockRead(*resp), |
1834 CreateMockRead(*body), | 1834 CreateMockRead(*body), |
1835 MockRead(true, 0, 0) // EOF | 1835 MockRead(true, 0, 0) // EOF |
1836 }; | 1836 }; |
1837 | 1837 |
1838 scoped_refptr<DelayedSocketData> data( | 1838 scoped_ptr<DelayedSocketData> data( |
1839 new DelayedSocketData(1, reads, arraysize(reads), | 1839 new DelayedSocketData(1, reads, arraysize(reads), |
1840 writes, arraysize(writes))); | 1840 writes, arraysize(writes))); |
1841 | 1841 |
1842 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1842 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
1843 BoundNetLog(), GetParam()); | 1843 BoundNetLog(), GetParam()); |
1844 helper.RunPreTestSetup(); | 1844 helper.RunPreTestSetup(); |
1845 helper.AddData(data.get()); | 1845 helper.AddData(data.get()); |
1846 | 1846 |
1847 HttpNetworkTransaction* trans = helper.trans(); | 1847 HttpNetworkTransaction* trans = helper.trans(); |
1848 | 1848 |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1916 CreateMockRead(*window_update_dummy), | 1916 CreateMockRead(*window_update_dummy), |
1917 CreateMockRead(*window_update), // Four updates, therefore window | 1917 CreateMockRead(*window_update), // Four updates, therefore window |
1918 CreateMockRead(*window_update), // size should increase by | 1918 CreateMockRead(*window_update), // size should increase by |
1919 CreateMockRead(*window_update), // kDeltaWindowSize * 4 | 1919 CreateMockRead(*window_update), // kDeltaWindowSize * 4 |
1920 CreateMockRead(*window_update), | 1920 CreateMockRead(*window_update), |
1921 CreateMockRead(*resp), | 1921 CreateMockRead(*resp), |
1922 CreateMockRead(*body_end), | 1922 CreateMockRead(*body_end), |
1923 MockRead(true, 0, 0) // EOF | 1923 MockRead(true, 0, 0) // EOF |
1924 }; | 1924 }; |
1925 | 1925 |
1926 scoped_refptr<DelayedSocketData> data( | 1926 scoped_ptr<DelayedSocketData> data( |
1927 new DelayedSocketData(0, reads, arraysize(reads), | 1927 new DelayedSocketData(0, reads, arraysize(reads), |
1928 writes, arraysize(writes))); | 1928 writes, arraysize(writes))); |
1929 | 1929 |
1930 // Setup the request | 1930 // Setup the request |
1931 HttpRequestInfo request; | 1931 HttpRequestInfo request; |
1932 request.method = "POST"; | 1932 request.method = "POST"; |
1933 request.url = GURL(kDefaultURL); | 1933 request.url = GURL(kDefaultURL); |
1934 request.upload_data = new UploadData(); | 1934 request.upload_data = new UploadData(); |
1935 for (int i = 0; i < kFrameCount; ++i) | 1935 for (int i = 0; i < kFrameCount; ++i) |
1936 request.upload_data->AppendBytes(content->c_str(), content->size()); | 1936 request.upload_data->AppendBytes(content->c_str(), content->size()); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1981 ConstructSpdyBodyFrame(1, NULL, 0, true)); | 1981 ConstructSpdyBodyFrame(1, NULL, 0, true)); |
1982 MockRead reads[] = { | 1982 MockRead reads[] = { |
1983 CreateMockRead(*resp), | 1983 CreateMockRead(*resp), |
1984 CreateMockRead(*body_no_fin), | 1984 CreateMockRead(*body_no_fin), |
1985 MockRead(true, ERR_IO_PENDING, 0), // Force a pause | 1985 MockRead(true, ERR_IO_PENDING, 0), // Force a pause |
1986 CreateMockRead(*body_fin), | 1986 CreateMockRead(*body_fin), |
1987 MockRead(true, ERR_IO_PENDING, 0), // Force a pause | 1987 MockRead(true, ERR_IO_PENDING, 0), // Force a pause |
1988 MockRead(true, 0, 0) // EOF | 1988 MockRead(true, 0, 0) // EOF |
1989 }; | 1989 }; |
1990 | 1990 |
1991 scoped_refptr<DelayedSocketData> data( | 1991 scoped_ptr<DelayedSocketData> data( |
1992 new DelayedSocketData(1, reads, arraysize(reads), | 1992 new DelayedSocketData(1, reads, arraysize(reads), |
1993 writes, arraysize(writes))); | 1993 writes, arraysize(writes))); |
1994 | 1994 |
1995 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1995 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
1996 BoundNetLog(), GetParam()); | 1996 BoundNetLog(), GetParam()); |
1997 helper.AddData(data.get()); | 1997 helper.AddData(data.get()); |
1998 helper.RunPreTestSetup(); | 1998 helper.RunPreTestSetup(); |
1999 HttpNetworkTransaction* trans = helper.trans(); | 1999 HttpNetworkTransaction* trans = helper.trans(); |
2000 | 2000 |
2001 TestCompletionCallback callback; | 2001 TestCompletionCallback callback; |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2078 MockRead reads[] = { | 2078 MockRead reads[] = { |
2079 CreateMockRead(*window_update2), | 2079 CreateMockRead(*window_update2), |
2080 CreateMockRead(*window_update2), | 2080 CreateMockRead(*window_update2), |
2081 CreateMockRead(*window_update), | 2081 CreateMockRead(*window_update), |
2082 CreateMockRead(*window_update), | 2082 CreateMockRead(*window_update), |
2083 CreateMockRead(*window_update), | 2083 CreateMockRead(*window_update), |
2084 MockRead(true, ERR_IO_PENDING, 0), // Wait for the RST to be written. | 2084 MockRead(true, ERR_IO_PENDING, 0), // Wait for the RST to be written. |
2085 MockRead(true, 0, 0) // EOF | 2085 MockRead(true, 0, 0) // EOF |
2086 }; | 2086 }; |
2087 | 2087 |
2088 scoped_refptr<DelayedSocketData> data( | 2088 scoped_ptr<DelayedSocketData> data( |
2089 new DelayedSocketData(0, reads, arraysize(reads), | 2089 new DelayedSocketData(0, reads, arraysize(reads), |
2090 writes, arraysize(writes))); | 2090 writes, arraysize(writes))); |
2091 | 2091 |
2092 // Setup the request | 2092 // Setup the request |
2093 HttpRequestInfo request; | 2093 HttpRequestInfo request; |
2094 request.method = "POST"; | 2094 request.method = "POST"; |
2095 request.url = GURL("http://www.google.com/"); | 2095 request.url = GURL("http://www.google.com/"); |
2096 request.upload_data = new UploadData(); | 2096 request.upload_data = new UploadData(); |
2097 for (int i = 0; i < kFrameCount; ++i) | 2097 for (int i = 0; i < kFrameCount; ++i) |
2098 request.upload_data->AppendBytes(content->c_str(), content->size()); | 2098 request.upload_data->AppendBytes(content->c_str(), content->size()); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2186 CreateMockRead(*window_update), | 2186 CreateMockRead(*window_update), |
2187 CreateMockRead(*window_update), | 2187 CreateMockRead(*window_update), |
2188 CreateMockRead(*reply), | 2188 CreateMockRead(*reply), |
2189 CreateMockRead(*body2), | 2189 CreateMockRead(*body2), |
2190 CreateMockRead(*body3), | 2190 CreateMockRead(*body3), |
2191 MockRead(true, 0, 0) // EOF | 2191 MockRead(true, 0, 0) // EOF |
2192 }; | 2192 }; |
2193 | 2193 |
2194 // Force all writes to happen before any read, last write will not | 2194 // Force all writes to happen before any read, last write will not |
2195 // actually queue a frame, due to window size being 0. | 2195 // actually queue a frame, due to window size being 0. |
2196 scoped_refptr<DelayedSocketData> data( | 2196 scoped_ptr<DelayedSocketData> data( |
2197 new DelayedSocketData(nwrites, reads, arraysize(reads), | 2197 new DelayedSocketData(nwrites, reads, arraysize(reads), |
2198 writes.get(), nwrites)); | 2198 writes.get(), nwrites)); |
2199 | 2199 |
2200 HttpRequestInfo request; | 2200 HttpRequestInfo request; |
2201 request.method = "POST"; | 2201 request.method = "POST"; |
2202 request.url = GURL("http://www.google.com/"); | 2202 request.url = GURL("http://www.google.com/"); |
2203 request.upload_data = new UploadData(); | 2203 request.upload_data = new UploadData(); |
2204 scoped_ptr<std::string> upload_data( | 2204 scoped_ptr<std::string> upload_data( |
2205 new std::string(spdy::kSpdyStreamInitialWindowSize, 'a')); | 2205 new std::string(spdy::kSpdyStreamInitialWindowSize, 'a')); |
2206 upload_data->append(kUploadData, kUploadDataSize); | 2206 upload_data->append(kUploadData, kUploadDataSize); |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2336 MockRead(true, reinterpret_cast<const char*>(kGetBodyFrame2), | 2336 MockRead(true, reinterpret_cast<const char*>(kGetBodyFrame2), |
2337 arraysize(kGetBodyFrame2), 4), | 2337 arraysize(kGetBodyFrame2), 4), |
2338 MockRead(true, ERR_IO_PENDING, 5), // Force a pause | 2338 MockRead(true, ERR_IO_PENDING, 5), // Force a pause |
2339 MockRead(true, 0, 0, 6), // EOF | 2339 MockRead(true, 0, 0, 6), // EOF |
2340 }; | 2340 }; |
2341 MockRead reads2[] = { | 2341 MockRead reads2[] = { |
2342 CreateMockRead(*resp, 2), | 2342 CreateMockRead(*resp, 2), |
2343 MockRead(true, 0, 0, 3), // EOF | 2343 MockRead(true, 0, 0, 3), // EOF |
2344 }; | 2344 }; |
2345 | 2345 |
2346 scoped_refptr<OrderedSocketData> data( | 2346 scoped_ptr<OrderedSocketData> data( |
2347 new OrderedSocketData(reads, arraysize(reads), | 2347 new OrderedSocketData(reads, arraysize(reads), |
2348 writes, arraysize(writes))); | 2348 writes, arraysize(writes))); |
2349 scoped_refptr<DelayedSocketData> data2( | 2349 scoped_ptr<DelayedSocketData> data2( |
2350 new DelayedSocketData(1, reads2, arraysize(reads2), | 2350 new DelayedSocketData(1, reads2, arraysize(reads2), |
2351 writes2, arraysize(writes2))); | 2351 writes2, arraysize(writes2))); |
2352 | 2352 |
2353 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 2353 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
2354 BoundNetLog(), GetParam()); | 2354 BoundNetLog(), GetParam()); |
2355 helper.RunPreTestSetup(); | 2355 helper.RunPreTestSetup(); |
2356 helper.AddData(data.get()); | 2356 helper.AddData(data.get()); |
2357 helper.AddData(data2.get()); | 2357 helper.AddData(data2.get()); |
2358 HttpNetworkTransaction* trans = helper.trans(); | 2358 HttpNetworkTransaction* trans = helper.trans(); |
2359 | 2359 |
(...skipping 25 matching lines...) Expand all Loading... |
2385 | 2385 |
2386 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 2386 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
2387 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 2387 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
2388 MockRead reads[] = { | 2388 MockRead reads[] = { |
2389 CreateMockRead(*resp.get(), 2), | 2389 CreateMockRead(*resp.get(), 2), |
2390 MockRead(true, ERR_IO_PENDING, 3), // Force a pause | 2390 MockRead(true, ERR_IO_PENDING, 3), // Force a pause |
2391 CreateMockRead(*body.get(), 4), | 2391 CreateMockRead(*body.get(), 4), |
2392 MockRead(true, 0, 0, 5), // EOF | 2392 MockRead(true, 0, 0, 5), // EOF |
2393 }; | 2393 }; |
2394 | 2394 |
2395 scoped_refptr<OrderedSocketData> data( | 2395 scoped_ptr<OrderedSocketData> data( |
2396 new OrderedSocketData(reads, arraysize(reads), | 2396 new OrderedSocketData(reads, arraysize(reads), |
2397 writes, arraysize(writes))); | 2397 writes, arraysize(writes))); |
2398 | 2398 |
2399 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 2399 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
2400 BoundNetLog(), GetParam()); | 2400 BoundNetLog(), GetParam()); |
2401 helper.RunPreTestSetup(); | 2401 helper.RunPreTestSetup(); |
2402 helper.AddData(data.get()); | 2402 helper.AddData(data.get()); |
2403 HttpNetworkTransaction* trans = helper.trans(); | 2403 HttpNetworkTransaction* trans = helper.trans(); |
2404 | 2404 |
2405 // Start the transaction with basic parameters. | 2405 // Start the transaction with basic parameters. |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2481 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 1)); | 2481 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 1)); |
2482 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(1, true)); | 2482 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(1, true)); |
2483 MockWrite writes2[] = { | 2483 MockWrite writes2[] = { |
2484 CreateMockWrite(*req2, 1), | 2484 CreateMockWrite(*req2, 1), |
2485 }; | 2485 }; |
2486 MockRead reads2[] = { | 2486 MockRead reads2[] = { |
2487 CreateMockRead(*resp2, 2), | 2487 CreateMockRead(*resp2, 2), |
2488 CreateMockRead(*body2, 3), | 2488 CreateMockRead(*body2, 3), |
2489 MockRead(true, 0, 0, 4) // EOF | 2489 MockRead(true, 0, 0, 4) // EOF |
2490 }; | 2490 }; |
2491 scoped_refptr<OrderedSocketData> data( | 2491 scoped_ptr<OrderedSocketData> data( |
2492 new OrderedSocketData(reads, arraysize(reads), | 2492 new OrderedSocketData(reads, arraysize(reads), |
2493 writes, arraysize(writes))); | 2493 writes, arraysize(writes))); |
2494 scoped_refptr<OrderedSocketData> data2( | 2494 scoped_ptr<OrderedSocketData> data2( |
2495 new OrderedSocketData(reads2, arraysize(reads2), | 2495 new OrderedSocketData(reads2, arraysize(reads2), |
2496 writes2, arraysize(writes2))); | 2496 writes2, arraysize(writes2))); |
2497 | 2497 |
2498 // TODO(erikchen): Make test support SPDYSSL, SPDYNPN | 2498 // TODO(erikchen): Make test support SPDYSSL, SPDYNPN |
2499 HttpStreamFactory::set_force_spdy_over_ssl(false); | 2499 HttpStreamFactory::set_force_spdy_over_ssl(false); |
2500 HttpStreamFactory::set_force_spdy_always(true); | 2500 HttpStreamFactory::set_force_spdy_always(true); |
2501 TestDelegate d; | 2501 TestDelegate d; |
2502 { | 2502 { |
2503 net::URLRequest r(GURL("http://www.google.com/"), &d); | 2503 net::URLRequest r(GURL("http://www.google.com/"), &d); |
2504 SpdyURLRequestContext* spdy_url_request_context = | 2504 SpdyURLRequestContext* spdy_url_request_context = |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2607 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 1)); | 2607 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 1)); |
2608 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(1, true)); | 2608 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(1, true)); |
2609 MockWrite writes2[] = { | 2609 MockWrite writes2[] = { |
2610 CreateMockWrite(*req2, 1), | 2610 CreateMockWrite(*req2, 1), |
2611 }; | 2611 }; |
2612 MockRead reads2[] = { | 2612 MockRead reads2[] = { |
2613 CreateMockRead(*resp2, 2), | 2613 CreateMockRead(*resp2, 2), |
2614 CreateMockRead(*body2, 3), | 2614 CreateMockRead(*body2, 3), |
2615 MockRead(true, 0, 0, 5) // EOF | 2615 MockRead(true, 0, 0, 5) // EOF |
2616 }; | 2616 }; |
2617 scoped_refptr<OrderedSocketData> data( | 2617 scoped_ptr<OrderedSocketData> data( |
2618 new OrderedSocketData(reads, arraysize(reads), | 2618 new OrderedSocketData(reads, arraysize(reads), |
2619 writes, arraysize(writes))); | 2619 writes, arraysize(writes))); |
2620 scoped_refptr<OrderedSocketData> data2( | 2620 scoped_ptr<OrderedSocketData> data2( |
2621 new OrderedSocketData(reads2, arraysize(reads2), | 2621 new OrderedSocketData(reads2, arraysize(reads2), |
2622 writes2, arraysize(writes2))); | 2622 writes2, arraysize(writes2))); |
2623 | 2623 |
2624 // TODO(erikchen): Make test support SPDYSSL, SPDYNPN | 2624 // TODO(erikchen): Make test support SPDYSSL, SPDYNPN |
2625 HttpStreamFactory::set_force_spdy_over_ssl(false); | 2625 HttpStreamFactory::set_force_spdy_over_ssl(false); |
2626 HttpStreamFactory::set_force_spdy_always(true); | 2626 HttpStreamFactory::set_force_spdy_always(true); |
2627 TestDelegate d; | 2627 TestDelegate d; |
2628 TestDelegate d2; | 2628 TestDelegate d2; |
2629 scoped_refptr<SpdyURLRequestContext> spdy_url_request_context( | 2629 scoped_refptr<SpdyURLRequestContext> spdy_url_request_context( |
2630 new SpdyURLRequestContext()); | 2630 new SpdyURLRequestContext()); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2694 CreateMockRead(*stream2_syn, 3), | 2694 CreateMockRead(*stream2_syn, 3), |
2695 CreateMockRead(*stream1_body, 4, false), | 2695 CreateMockRead(*stream1_body, 4, false), |
2696 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), | 2696 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), |
2697 arraysize(kPushBodyFrame), 5), | 2697 arraysize(kPushBodyFrame), 5), |
2698 MockRead(true, ERR_IO_PENDING, 6), // Force a pause | 2698 MockRead(true, ERR_IO_PENDING, 6), // Force a pause |
2699 }; | 2699 }; |
2700 | 2700 |
2701 HttpResponseInfo response; | 2701 HttpResponseInfo response; |
2702 HttpResponseInfo response2; | 2702 HttpResponseInfo response2; |
2703 std::string expected_push_result("pushed"); | 2703 std::string expected_push_result("pushed"); |
2704 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 2704 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
2705 reads, | 2705 reads, |
2706 arraysize(reads), | 2706 arraysize(reads), |
2707 writes, | 2707 writes, |
2708 arraysize(writes))); | 2708 arraysize(writes))); |
2709 RunServerPushTest(data.get(), | 2709 RunServerPushTest(data.get(), |
2710 &response, | 2710 &response, |
2711 &response2, | 2711 &response2, |
2712 expected_push_result); | 2712 expected_push_result); |
2713 | 2713 |
2714 // Verify the SYN_REPLY. | 2714 // Verify the SYN_REPLY. |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2747 CreateMockRead(*stream2_syn, 3), | 2747 CreateMockRead(*stream2_syn, 3), |
2748 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), | 2748 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), |
2749 arraysize(kPushBodyFrame), 5), | 2749 arraysize(kPushBodyFrame), 5), |
2750 CreateMockRead(*stream1_body, 4, false), | 2750 CreateMockRead(*stream1_body, 4, false), |
2751 MockRead(true, ERR_IO_PENDING, 6), // Force a pause | 2751 MockRead(true, ERR_IO_PENDING, 6), // Force a pause |
2752 }; | 2752 }; |
2753 | 2753 |
2754 HttpResponseInfo response; | 2754 HttpResponseInfo response; |
2755 HttpResponseInfo response2; | 2755 HttpResponseInfo response2; |
2756 std::string expected_push_result("pushed"); | 2756 std::string expected_push_result("pushed"); |
2757 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 2757 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
2758 reads, | 2758 reads, |
2759 arraysize(reads), | 2759 arraysize(reads), |
2760 writes, | 2760 writes, |
2761 arraysize(writes))); | 2761 arraysize(writes))); |
2762 RunServerPushTest(data.get(), | 2762 RunServerPushTest(data.get(), |
2763 &response, | 2763 &response, |
2764 &response2, | 2764 &response2, |
2765 expected_push_result); | 2765 expected_push_result); |
2766 | 2766 |
2767 // Verify the SYN_REPLY. | 2767 // Verify the SYN_REPLY. |
(...skipping 25 matching lines...) Expand all Loading... |
2793 scoped_ptr<spdy::SpdyFrame> | 2793 scoped_ptr<spdy::SpdyFrame> |
2794 stream2_rst(ConstructSpdyRstStream(2, spdy::PROTOCOL_ERROR)); | 2794 stream2_rst(ConstructSpdyRstStream(2, spdy::PROTOCOL_ERROR)); |
2795 MockRead reads[] = { | 2795 MockRead reads[] = { |
2796 CreateMockRead(*stream1_reply, 2), | 2796 CreateMockRead(*stream1_reply, 2), |
2797 CreateMockRead(*stream2_syn, 3), | 2797 CreateMockRead(*stream2_syn, 3), |
2798 CreateMockRead(*stream2_rst, 4), | 2798 CreateMockRead(*stream2_rst, 4), |
2799 CreateMockRead(*stream1_body, 5, false), | 2799 CreateMockRead(*stream1_body, 5, false), |
2800 MockRead(true, ERR_IO_PENDING, 6), // Force a pause | 2800 MockRead(true, ERR_IO_PENDING, 6), // Force a pause |
2801 }; | 2801 }; |
2802 | 2802 |
2803 scoped_refptr<OrderedSocketData> data( | 2803 scoped_ptr<OrderedSocketData> data( |
2804 new OrderedSocketData(reads, arraysize(reads), | 2804 new OrderedSocketData(reads, arraysize(reads), |
2805 writes, arraysize(writes))); | 2805 writes, arraysize(writes))); |
2806 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 2806 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
2807 BoundNetLog(), GetParam()); | 2807 BoundNetLog(), GetParam()); |
2808 | 2808 |
2809 helper.RunPreTestSetup(); | 2809 helper.RunPreTestSetup(); |
2810 helper.AddData(data.get()); | 2810 helper.AddData(data.get()); |
2811 | 2811 |
2812 HttpNetworkTransaction* trans = helper.trans(); | 2812 HttpNetworkTransaction* trans = helper.trans(); |
2813 | 2813 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2875 CreateMockRead(*stream3_syn, 4), | 2875 CreateMockRead(*stream3_syn, 4), |
2876 CreateMockRead(*stream1_body, 6, false), | 2876 CreateMockRead(*stream1_body, 6, false), |
2877 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), | 2877 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), |
2878 arraysize(kPushBodyFrame), 7), | 2878 arraysize(kPushBodyFrame), 7), |
2879 MockRead(true, ERR_IO_PENDING, 8), // Force a pause | 2879 MockRead(true, ERR_IO_PENDING, 8), // Force a pause |
2880 }; | 2880 }; |
2881 | 2881 |
2882 HttpResponseInfo response; | 2882 HttpResponseInfo response; |
2883 HttpResponseInfo response2; | 2883 HttpResponseInfo response2; |
2884 std::string expected_push_result("pushed"); | 2884 std::string expected_push_result("pushed"); |
2885 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 2885 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
2886 reads, | 2886 reads, |
2887 arraysize(reads), | 2887 arraysize(reads), |
2888 writes, | 2888 writes, |
2889 arraysize(writes))); | 2889 arraysize(writes))); |
2890 RunServerPushTest(data.get(), | 2890 RunServerPushTest(data.get(), |
2891 &response, | 2891 &response, |
2892 &response2, | 2892 &response2, |
2893 expected_push_result); | 2893 expected_push_result); |
2894 | 2894 |
2895 // Verify the SYN_REPLY. | 2895 // Verify the SYN_REPLY. |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2938 arraysize(kPushBodyFrame3) - 1, 6), | 2938 arraysize(kPushBodyFrame3) - 1, 6), |
2939 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame4), | 2939 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame4), |
2940 arraysize(kPushBodyFrame4) - 1, 7), | 2940 arraysize(kPushBodyFrame4) - 1, 7), |
2941 CreateMockRead(*stream1_body, 8, false), | 2941 CreateMockRead(*stream1_body, 8, false), |
2942 MockRead(true, ERR_IO_PENDING, 9), // Force a pause | 2942 MockRead(true, ERR_IO_PENDING, 9), // Force a pause |
2943 }; | 2943 }; |
2944 | 2944 |
2945 HttpResponseInfo response; | 2945 HttpResponseInfo response; |
2946 HttpResponseInfo response2; | 2946 HttpResponseInfo response2; |
2947 std::string expected_push_result("pushed my darling hello my baby"); | 2947 std::string expected_push_result("pushed my darling hello my baby"); |
2948 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 2948 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
2949 reads, | 2949 reads, |
2950 arraysize(reads), | 2950 arraysize(reads), |
2951 writes, | 2951 writes, |
2952 arraysize(writes))); | 2952 arraysize(writes))); |
2953 RunServerPushTest(data.get(), | 2953 RunServerPushTest(data.get(), |
2954 &response, | 2954 &response, |
2955 &response2, | 2955 &response2, |
2956 expected_push_result); | 2956 expected_push_result); |
2957 | 2957 |
2958 // Verify the SYN_REPLY. | 2958 // Verify the SYN_REPLY. |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3002 arraysize(kPushBodyFrame3) - 1, 7), | 3002 arraysize(kPushBodyFrame3) - 1, 7), |
3003 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame4), | 3003 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame4), |
3004 arraysize(kPushBodyFrame4) - 1, 8), | 3004 arraysize(kPushBodyFrame4) - 1, 8), |
3005 CreateMockRead(*stream1_body.get(), 9, false), | 3005 CreateMockRead(*stream1_body.get(), 9, false), |
3006 MockRead(true, ERR_IO_PENDING, 10) // Force a pause. | 3006 MockRead(true, ERR_IO_PENDING, 10) // Force a pause. |
3007 }; | 3007 }; |
3008 | 3008 |
3009 HttpResponseInfo response; | 3009 HttpResponseInfo response; |
3010 HttpResponseInfo response2; | 3010 HttpResponseInfo response2; |
3011 std::string expected_push_result("pushed my darling hello my baby"); | 3011 std::string expected_push_result("pushed my darling hello my baby"); |
3012 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 3012 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
3013 reads, | 3013 reads, |
3014 arraysize(reads), | 3014 arraysize(reads), |
3015 writes, | 3015 writes, |
3016 arraysize(writes))); | 3016 arraysize(writes))); |
3017 RunServerPushTest(data.get(), | 3017 RunServerPushTest(data.get(), |
3018 &response, | 3018 &response, |
3019 &response2, | 3019 &response2, |
3020 expected_push_result); | 3020 expected_push_result); |
3021 | 3021 |
3022 // Verify the SYN_REPLY. | 3022 // Verify the SYN_REPLY. |
(...skipping 25 matching lines...) Expand all Loading... |
3048 2, | 3048 2, |
3049 0, | 3049 0, |
3050 "http://www.google.com/foo.dat")); | 3050 "http://www.google.com/foo.dat")); |
3051 MockRead reads[] = { | 3051 MockRead reads[] = { |
3052 CreateMockRead(*stream1_reply, 2), | 3052 CreateMockRead(*stream1_reply, 2), |
3053 CreateMockRead(*stream2_syn, 3), | 3053 CreateMockRead(*stream2_syn, 3), |
3054 CreateMockRead(*stream1_body, 4), | 3054 CreateMockRead(*stream1_body, 4), |
3055 MockRead(true, ERR_IO_PENDING, 5) // Force a pause | 3055 MockRead(true, ERR_IO_PENDING, 5) // Force a pause |
3056 }; | 3056 }; |
3057 | 3057 |
3058 scoped_refptr<OrderedSocketData> data( | 3058 scoped_ptr<OrderedSocketData> data( |
3059 new OrderedSocketData(reads, arraysize(reads), | 3059 new OrderedSocketData(reads, arraysize(reads), |
3060 writes, arraysize(writes))); | 3060 writes, arraysize(writes))); |
3061 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3061 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3062 BoundNetLog(), GetParam()); | 3062 BoundNetLog(), GetParam()); |
3063 | 3063 |
3064 helper.RunPreTestSetup(); | 3064 helper.RunPreTestSetup(); |
3065 helper.AddData(data.get()); | 3065 helper.AddData(data.get()); |
3066 | 3066 |
3067 HttpNetworkTransaction* trans = helper.trans(); | 3067 HttpNetworkTransaction* trans = helper.trans(); |
3068 | 3068 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3110 2, | 3110 2, |
3111 9, | 3111 9, |
3112 "http://www.google.com/foo.dat")); | 3112 "http://www.google.com/foo.dat")); |
3113 MockRead reads[] = { | 3113 MockRead reads[] = { |
3114 CreateMockRead(*stream1_reply, 2), | 3114 CreateMockRead(*stream1_reply, 2), |
3115 CreateMockRead(*stream2_syn, 3), | 3115 CreateMockRead(*stream2_syn, 3), |
3116 CreateMockRead(*stream1_body, 4), | 3116 CreateMockRead(*stream1_body, 4), |
3117 MockRead(true, ERR_IO_PENDING, 5), // Force a pause | 3117 MockRead(true, ERR_IO_PENDING, 5), // Force a pause |
3118 }; | 3118 }; |
3119 | 3119 |
3120 scoped_refptr<OrderedSocketData> data( | 3120 scoped_ptr<OrderedSocketData> data( |
3121 new OrderedSocketData(reads, arraysize(reads), | 3121 new OrderedSocketData(reads, arraysize(reads), |
3122 writes, arraysize(writes))); | 3122 writes, arraysize(writes))); |
3123 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3123 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3124 BoundNetLog(), GetParam()); | 3124 BoundNetLog(), GetParam()); |
3125 | 3125 |
3126 helper.RunPreTestSetup(); | 3126 helper.RunPreTestSetup(); |
3127 helper.AddData(data.get()); | 3127 helper.AddData(data.get()); |
3128 | 3128 |
3129 HttpNetworkTransaction* trans = helper.trans(); | 3129 HttpNetworkTransaction* trans = helper.trans(); |
3130 | 3130 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3168 stream1_reply(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3168 stream1_reply(ConstructSpdyGetSynReply(NULL, 0, 1)); |
3169 scoped_ptr<spdy::SpdyFrame> | 3169 scoped_ptr<spdy::SpdyFrame> |
3170 stream2_syn(ConstructSpdyPush(NULL, 0, 2, 1)); | 3170 stream2_syn(ConstructSpdyPush(NULL, 0, 2, 1)); |
3171 MockRead reads[] = { | 3171 MockRead reads[] = { |
3172 CreateMockRead(*stream1_reply, 2), | 3172 CreateMockRead(*stream1_reply, 2), |
3173 CreateMockRead(*stream2_syn, 3), | 3173 CreateMockRead(*stream2_syn, 3), |
3174 CreateMockRead(*stream1_body, 4), | 3174 CreateMockRead(*stream1_body, 4), |
3175 MockRead(true, ERR_IO_PENDING, 5) // Force a pause | 3175 MockRead(true, ERR_IO_PENDING, 5) // Force a pause |
3176 }; | 3176 }; |
3177 | 3177 |
3178 scoped_refptr<OrderedSocketData> data( | 3178 scoped_ptr<OrderedSocketData> data( |
3179 new OrderedSocketData(reads, arraysize(reads), | 3179 new OrderedSocketData(reads, arraysize(reads), |
3180 writes, arraysize(writes))); | 3180 writes, arraysize(writes))); |
3181 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3181 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3182 BoundNetLog(), GetParam()); | 3182 BoundNetLog(), GetParam()); |
3183 | 3183 |
3184 helper.RunPreTestSetup(); | 3184 helper.RunPreTestSetup(); |
3185 helper.AddData(data.get()); | 3185 helper.AddData(data.get()); |
3186 | 3186 |
3187 HttpNetworkTransaction* trans = helper.trans(); | 3187 HttpNetworkTransaction* trans = helper.trans(); |
3188 | 3188 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3257 ConstructSpdyGetSynReply(test_cases[i].extra_headers, | 3257 ConstructSpdyGetSynReply(test_cases[i].extra_headers, |
3258 test_cases[i].num_headers, | 3258 test_cases[i].num_headers, |
3259 1)); | 3259 1)); |
3260 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3260 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
3261 MockRead reads[] = { | 3261 MockRead reads[] = { |
3262 CreateMockRead(*resp), | 3262 CreateMockRead(*resp), |
3263 CreateMockRead(*body), | 3263 CreateMockRead(*body), |
3264 MockRead(true, 0, 0) // EOF | 3264 MockRead(true, 0, 0) // EOF |
3265 }; | 3265 }; |
3266 | 3266 |
3267 scoped_refptr<DelayedSocketData> data( | 3267 scoped_ptr<DelayedSocketData> data( |
3268 new DelayedSocketData(1, reads, arraysize(reads), | 3268 new DelayedSocketData(1, reads, arraysize(reads), |
3269 writes, arraysize(writes))); | 3269 writes, arraysize(writes))); |
3270 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3270 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3271 BoundNetLog(), GetParam()); | 3271 BoundNetLog(), GetParam()); |
3272 helper.RunToCompletion(data.get()); | 3272 helper.RunToCompletion(data.get()); |
3273 TransactionHelperResult out = helper.output(); | 3273 TransactionHelperResult out = helper.output(); |
3274 | 3274 |
3275 EXPECT_EQ(OK, out.rv); | 3275 EXPECT_EQ(OK, out.rv); |
3276 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 3276 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
3277 EXPECT_EQ("hello!", out.response_data); | 3277 EXPECT_EQ("hello!", out.response_data); |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3406 // Attach the headers to the request. | 3406 // Attach the headers to the request. |
3407 int header_count = test_cases[i].num_headers[0]; | 3407 int header_count = test_cases[i].num_headers[0]; |
3408 | 3408 |
3409 HttpRequestInfo request = CreateGetRequest(); | 3409 HttpRequestInfo request = CreateGetRequest(); |
3410 for (int ct = 0; ct < header_count; ct++) { | 3410 for (int ct = 0; ct < header_count; ct++) { |
3411 const char* header_key = test_cases[i].extra_headers[0][ct * 2]; | 3411 const char* header_key = test_cases[i].extra_headers[0][ct * 2]; |
3412 const char* header_value = test_cases[i].extra_headers[0][ct * 2 + 1]; | 3412 const char* header_value = test_cases[i].extra_headers[0][ct * 2 + 1]; |
3413 request.extra_headers.SetHeader(header_key, header_value); | 3413 request.extra_headers.SetHeader(header_key, header_value); |
3414 } | 3414 } |
3415 | 3415 |
3416 scoped_refptr<DelayedSocketData> data( | 3416 scoped_ptr<DelayedSocketData> data( |
3417 new DelayedSocketData(1, reads, arraysize(reads), | 3417 new DelayedSocketData(1, reads, arraysize(reads), |
3418 writes, arraysize(writes))); | 3418 writes, arraysize(writes))); |
3419 NormalSpdyTransactionHelper helper(request, | 3419 NormalSpdyTransactionHelper helper(request, |
3420 BoundNetLog(), GetParam()); | 3420 BoundNetLog(), GetParam()); |
3421 helper.RunToCompletion(data.get()); | 3421 helper.RunToCompletion(data.get()); |
3422 TransactionHelperResult out = helper.output(); | 3422 TransactionHelperResult out = helper.output(); |
3423 | 3423 |
3424 EXPECT_EQ(OK, out.rv) << i; | 3424 EXPECT_EQ(OK, out.rv) << i; |
3425 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line) << i; | 3425 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line) << i; |
3426 EXPECT_EQ("hello!", out.response_data) << i; | 3426 EXPECT_EQ("hello!", out.response_data) << i; |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3512 NULL, 0, | 3512 NULL, 0, |
3513 test_cases[i].headers, | 3513 test_cases[i].headers, |
3514 test_cases[i].num_headers)); | 3514 test_cases[i].num_headers)); |
3515 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3515 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
3516 MockRead reads[] = { | 3516 MockRead reads[] = { |
3517 CreateMockRead(*resp), | 3517 CreateMockRead(*resp), |
3518 CreateMockRead(*body), | 3518 CreateMockRead(*body), |
3519 MockRead(true, 0, 0) // EOF | 3519 MockRead(true, 0, 0) // EOF |
3520 }; | 3520 }; |
3521 | 3521 |
3522 scoped_refptr<DelayedSocketData> data( | 3522 scoped_ptr<DelayedSocketData> data( |
3523 new DelayedSocketData(1, reads, arraysize(reads), | 3523 new DelayedSocketData(1, reads, arraysize(reads), |
3524 writes, arraysize(writes))); | 3524 writes, arraysize(writes))); |
3525 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3525 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3526 BoundNetLog(), GetParam()); | 3526 BoundNetLog(), GetParam()); |
3527 helper.RunToCompletion(data.get()); | 3527 helper.RunToCompletion(data.get()); |
3528 TransactionHelperResult out = helper.output(); | 3528 TransactionHelperResult out = helper.output(); |
3529 EXPECT_EQ(ERR_INCOMPLETE_SPDY_HEADERS, out.rv); | 3529 EXPECT_EQ(ERR_INCOMPLETE_SPDY_HEADERS, out.rv); |
3530 } | 3530 } |
3531 } | 3531 } |
3532 | 3532 |
(...skipping 18 matching lines...) Expand all Loading... |
3551 MockWrite(true, 0, 0) // EOF | 3551 MockWrite(true, 0, 0) // EOF |
3552 }; | 3552 }; |
3553 | 3553 |
3554 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3554 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
3555 MockRead reads[] = { | 3555 MockRead reads[] = { |
3556 CreateMockRead(*test_cases[i].syn_reply), | 3556 CreateMockRead(*test_cases[i].syn_reply), |
3557 CreateMockRead(*body), | 3557 CreateMockRead(*body), |
3558 MockRead(true, 0, 0) // EOF | 3558 MockRead(true, 0, 0) // EOF |
3559 }; | 3559 }; |
3560 | 3560 |
3561 scoped_refptr<DelayedSocketData> data( | 3561 scoped_ptr<DelayedSocketData> data( |
3562 new DelayedSocketData(1, reads, arraysize(reads), | 3562 new DelayedSocketData(1, reads, arraysize(reads), |
3563 writes, arraysize(writes))); | 3563 writes, arraysize(writes))); |
3564 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3564 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3565 BoundNetLog(), GetParam()); | 3565 BoundNetLog(), GetParam()); |
3566 helper.RunToCompletion(data.get()); | 3566 helper.RunToCompletion(data.get()); |
3567 TransactionHelperResult out = helper.output(); | 3567 TransactionHelperResult out = helper.output(); |
3568 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); | 3568 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); |
3569 } | 3569 } |
3570 } | 3570 } |
3571 | 3571 |
3572 // Test that we shutdown correctly on write errors. | 3572 // Test that we shutdown correctly on write errors. |
3573 TEST_P(SpdyNetworkTransactionTest, WriteError) { | 3573 TEST_P(SpdyNetworkTransactionTest, WriteError) { |
3574 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); | 3574 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); |
3575 MockWrite writes[] = { | 3575 MockWrite writes[] = { |
3576 // We'll write 10 bytes successfully | 3576 // We'll write 10 bytes successfully |
3577 MockWrite(true, req->data(), 10), | 3577 MockWrite(true, req->data(), 10), |
3578 // Followed by ERROR! | 3578 // Followed by ERROR! |
3579 MockWrite(true, ERR_FAILED), | 3579 MockWrite(true, ERR_FAILED), |
3580 }; | 3580 }; |
3581 | 3581 |
3582 scoped_refptr<DelayedSocketData> data( | 3582 scoped_ptr<DelayedSocketData> data( |
3583 new DelayedSocketData(2, NULL, 0, | 3583 new DelayedSocketData(2, NULL, 0, |
3584 writes, arraysize(writes))); | 3584 writes, arraysize(writes))); |
3585 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3585 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3586 BoundNetLog(), GetParam()); | 3586 BoundNetLog(), GetParam()); |
3587 helper.RunToCompletion(data.get()); | 3587 helper.RunToCompletion(data.get()); |
3588 TransactionHelperResult out = helper.output(); | 3588 TransactionHelperResult out = helper.output(); |
3589 EXPECT_EQ(ERR_FAILED, out.rv); | 3589 EXPECT_EQ(ERR_FAILED, out.rv); |
3590 data->Reset(); | 3590 data->Reset(); |
3591 } | 3591 } |
3592 | 3592 |
3593 // Test that partial writes work. | 3593 // Test that partial writes work. |
3594 TEST_P(SpdyNetworkTransactionTest, PartialWrite) { | 3594 TEST_P(SpdyNetworkTransactionTest, PartialWrite) { |
3595 // Chop the SYN_STREAM frame into 5 chunks. | 3595 // Chop the SYN_STREAM frame into 5 chunks. |
3596 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); | 3596 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); |
3597 const int kChunks = 5; | 3597 const int kChunks = 5; |
3598 scoped_array<MockWrite> writes(ChopWriteFrame(*req.get(), kChunks)); | 3598 scoped_array<MockWrite> writes(ChopWriteFrame(*req.get(), kChunks)); |
3599 | 3599 |
3600 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3600 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
3601 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3601 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
3602 MockRead reads[] = { | 3602 MockRead reads[] = { |
3603 CreateMockRead(*resp), | 3603 CreateMockRead(*resp), |
3604 CreateMockRead(*body), | 3604 CreateMockRead(*body), |
3605 MockRead(true, 0, 0) // EOF | 3605 MockRead(true, 0, 0) // EOF |
3606 }; | 3606 }; |
3607 | 3607 |
3608 scoped_refptr<DelayedSocketData> data( | 3608 scoped_ptr<DelayedSocketData> data( |
3609 new DelayedSocketData(kChunks, reads, arraysize(reads), | 3609 new DelayedSocketData(kChunks, reads, arraysize(reads), |
3610 writes.get(), kChunks)); | 3610 writes.get(), kChunks)); |
3611 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3611 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3612 BoundNetLog(), GetParam()); | 3612 BoundNetLog(), GetParam()); |
3613 helper.RunToCompletion(data.get()); | 3613 helper.RunToCompletion(data.get()); |
3614 TransactionHelperResult out = helper.output(); | 3614 TransactionHelperResult out = helper.output(); |
3615 EXPECT_EQ(OK, out.rv); | 3615 EXPECT_EQ(OK, out.rv); |
3616 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 3616 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
3617 EXPECT_EQ("hello!", out.response_data); | 3617 EXPECT_EQ("hello!", out.response_data); |
3618 } | 3618 } |
(...skipping 11 matching lines...) Expand all Loading... |
3630 MockWrite writes[] = { | 3630 MockWrite writes[] = { |
3631 CreateMockWrite(*compressed), | 3631 CreateMockWrite(*compressed), |
3632 }; | 3632 }; |
3633 | 3633 |
3634 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3634 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
3635 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3635 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
3636 MockRead reads[] = { | 3636 MockRead reads[] = { |
3637 CreateMockRead(*resp), | 3637 CreateMockRead(*resp), |
3638 }; | 3638 }; |
3639 | 3639 |
3640 scoped_refptr<DelayedSocketData> data( | 3640 scoped_ptr<DelayedSocketData> data( |
3641 new DelayedSocketData(1, reads, arraysize(reads), | 3641 new DelayedSocketData(1, reads, arraysize(reads), |
3642 writes, arraysize(writes))); | 3642 writes, arraysize(writes))); |
3643 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3643 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3644 BoundNetLog(), GetParam()); | 3644 BoundNetLog(), GetParam()); |
3645 helper.RunToCompletion(data.get()); | 3645 helper.RunToCompletion(data.get()); |
3646 TransactionHelperResult out = helper.output(); | 3646 TransactionHelperResult out = helper.output(); |
3647 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); | 3647 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); |
3648 data->Reset(); | 3648 data->Reset(); |
3649 | 3649 |
3650 EnableCompression(false); | 3650 EnableCompression(false); |
(...skipping 11 matching lines...) Expand all Loading... |
3662 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3662 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
3663 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3663 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
3664 MockRead reads[] = { | 3664 MockRead reads[] = { |
3665 CreateMockRead(*resp), | 3665 CreateMockRead(*resp), |
3666 CreateMockRead(*body), | 3666 CreateMockRead(*body), |
3667 MockRead(true, 0, 0) // EOF | 3667 MockRead(true, 0, 0) // EOF |
3668 }; | 3668 }; |
3669 | 3669 |
3670 net::CapturingBoundNetLog log(net::CapturingNetLog::kUnbounded); | 3670 net::CapturingBoundNetLog log(net::CapturingNetLog::kUnbounded); |
3671 | 3671 |
3672 scoped_refptr<DelayedSocketData> data( | 3672 scoped_ptr<DelayedSocketData> data( |
3673 new DelayedSocketData(1, reads, arraysize(reads), | 3673 new DelayedSocketData(1, reads, arraysize(reads), |
3674 writes, arraysize(writes))); | 3674 writes, arraysize(writes))); |
3675 NormalSpdyTransactionHelper helper(CreateGetRequestWithUserAgent(), | 3675 NormalSpdyTransactionHelper helper(CreateGetRequestWithUserAgent(), |
3676 log.bound(), GetParam()); | 3676 log.bound(), GetParam()); |
3677 helper.RunToCompletion(data.get()); | 3677 helper.RunToCompletion(data.get()); |
3678 TransactionHelperResult out = helper.output(); | 3678 TransactionHelperResult out = helper.output(); |
3679 EXPECT_EQ(OK, out.rv); | 3679 EXPECT_EQ(OK, out.rv); |
3680 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 3680 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
3681 EXPECT_EQ("hello!", out.response_data); | 3681 EXPECT_EQ("hello!", out.response_data); |
3682 | 3682 |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3764 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3764 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
3765 MockRead reads[] = { | 3765 MockRead reads[] = { |
3766 CreateMockRead(*resp), | 3766 CreateMockRead(*resp), |
3767 MockRead(true, ERR_IO_PENDING), // Force a pause | 3767 MockRead(true, ERR_IO_PENDING), // Force a pause |
3768 MockRead(true, combined_data_frames, combined_data_frames_len), | 3768 MockRead(true, combined_data_frames, combined_data_frames_len), |
3769 MockRead(true, ERR_IO_PENDING), // Force a pause | 3769 MockRead(true, ERR_IO_PENDING), // Force a pause |
3770 CreateMockRead(*last_frame), | 3770 CreateMockRead(*last_frame), |
3771 MockRead(true, 0, 0) // EOF | 3771 MockRead(true, 0, 0) // EOF |
3772 }; | 3772 }; |
3773 | 3773 |
3774 scoped_refptr<DelayedSocketData> data( | 3774 scoped_ptr<DelayedSocketData> data( |
3775 new DelayedSocketData(1, reads, arraysize(reads), | 3775 new DelayedSocketData(1, reads, arraysize(reads), |
3776 writes, arraysize(writes))); | 3776 writes, arraysize(writes))); |
3777 | 3777 |
3778 | 3778 |
3779 TestCompletionCallback callback; | 3779 TestCompletionCallback callback; |
3780 | 3780 |
3781 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3781 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3782 BoundNetLog(), GetParam()); | 3782 BoundNetLog(), GetParam()); |
3783 helper.RunPreTestSetup(); | 3783 helper.RunPreTestSetup(); |
3784 helper.AddData(data.get()); | 3784 helper.AddData(data.get()); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3857 combined_data_frames, arraysize(combined_data_frames)); | 3857 combined_data_frames, arraysize(combined_data_frames)); |
3858 | 3858 |
3859 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3859 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
3860 MockRead reads[] = { | 3860 MockRead reads[] = { |
3861 CreateMockRead(*resp), | 3861 CreateMockRead(*resp), |
3862 MockRead(true, ERR_IO_PENDING), // Force a pause | 3862 MockRead(true, ERR_IO_PENDING), // Force a pause |
3863 MockRead(true, combined_data_frames, combined_data_frames_len), | 3863 MockRead(true, combined_data_frames, combined_data_frames_len), |
3864 MockRead(true, 0, 0) // EOF | 3864 MockRead(true, 0, 0) // EOF |
3865 }; | 3865 }; |
3866 | 3866 |
3867 scoped_refptr<DelayedSocketData> data( | 3867 scoped_ptr<DelayedSocketData> data( |
3868 new DelayedSocketData(1, reads, arraysize(reads), | 3868 new DelayedSocketData(1, reads, arraysize(reads), |
3869 writes, arraysize(writes))); | 3869 writes, arraysize(writes))); |
3870 | 3870 |
3871 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3871 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3872 BoundNetLog(), GetParam()); | 3872 BoundNetLog(), GetParam()); |
3873 helper.RunPreTestSetup(); | 3873 helper.RunPreTestSetup(); |
3874 helper.AddData(data.get()); | 3874 helper.AddData(data.get()); |
3875 HttpNetworkTransaction* trans = helper.trans(); | 3875 HttpNetworkTransaction* trans = helper.trans(); |
3876 | 3876 |
3877 TestCompletionCallback callback; | 3877 TestCompletionCallback callback; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3953 char combined_frames[200]; | 3953 char combined_frames[200]; |
3954 int combined_frames_len = | 3954 int combined_frames_len = |
3955 CombineFrames(frames, arraysize(frames), | 3955 CombineFrames(frames, arraysize(frames), |
3956 combined_frames, arraysize(combined_frames)); | 3956 combined_frames, arraysize(combined_frames)); |
3957 | 3957 |
3958 MockRead reads[] = { | 3958 MockRead reads[] = { |
3959 MockRead(true, combined_frames, combined_frames_len), | 3959 MockRead(true, combined_frames, combined_frames_len), |
3960 MockRead(true, 0, 0) // EOF | 3960 MockRead(true, 0, 0) // EOF |
3961 }; | 3961 }; |
3962 | 3962 |
3963 scoped_refptr<DelayedSocketData> data( | 3963 scoped_ptr<DelayedSocketData> data( |
3964 new DelayedSocketData(1, reads, arraysize(reads), | 3964 new DelayedSocketData(1, reads, arraysize(reads), |
3965 writes, arraysize(writes))); | 3965 writes, arraysize(writes))); |
3966 | 3966 |
3967 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3967 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
3968 BoundNetLog(), GetParam()); | 3968 BoundNetLog(), GetParam()); |
3969 helper.RunPreTestSetup(); | 3969 helper.RunPreTestSetup(); |
3970 helper.AddData(data.get()); | 3970 helper.AddData(data.get()); |
3971 HttpNetworkTransaction* trans = helper.trans(); | 3971 HttpNetworkTransaction* trans = helper.trans(); |
3972 | 3972 |
3973 TestCompletionCallback callback; | 3973 TestCompletionCallback callback; |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4042 CombineFrames(data_frames, arraysize(data_frames), | 4042 CombineFrames(data_frames, arraysize(data_frames), |
4043 combined_data_frames, arraysize(combined_data_frames)); | 4043 combined_data_frames, arraysize(combined_data_frames)); |
4044 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 4044 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
4045 MockRead reads[] = { | 4045 MockRead reads[] = { |
4046 CreateMockRead(*resp), | 4046 CreateMockRead(*resp), |
4047 MockRead(true, ERR_IO_PENDING), // Force a wait | 4047 MockRead(true, ERR_IO_PENDING), // Force a wait |
4048 MockRead(true, combined_data_frames, combined_data_frames_len), | 4048 MockRead(true, combined_data_frames, combined_data_frames_len), |
4049 MockRead(true, 0, 0) // EOF | 4049 MockRead(true, 0, 0) // EOF |
4050 }; | 4050 }; |
4051 | 4051 |
4052 scoped_refptr<DelayedSocketData> data( | 4052 scoped_ptr<DelayedSocketData> data( |
4053 new DelayedSocketData(1, reads, arraysize(reads), | 4053 new DelayedSocketData(1, reads, arraysize(reads), |
4054 writes, arraysize(writes))); | 4054 writes, arraysize(writes))); |
4055 | 4055 |
4056 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4056 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
4057 BoundNetLog(), GetParam()); | 4057 BoundNetLog(), GetParam()); |
4058 helper.RunPreTestSetup(); | 4058 helper.RunPreTestSetup(); |
4059 helper.AddData(data.get()); | 4059 helper.AddData(data.get()); |
4060 HttpNetworkTransaction* trans = helper.trans(); | 4060 HttpNetworkTransaction* trans = helper.trans(); |
4061 | 4061 |
4062 TestCompletionCallback callback; | 4062 TestCompletionCallback callback; |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4123 framer.CreateDataFrame(1, "message", 7, spdy::DATA_FLAG_NONE)); | 4123 framer.CreateDataFrame(1, "message", 7, spdy::DATA_FLAG_NONE)); |
4124 | 4124 |
4125 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 4125 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
4126 MockRead reads[] = { | 4126 MockRead reads[] = { |
4127 CreateMockRead(*resp), | 4127 CreateMockRead(*resp), |
4128 MockRead(true, ERR_IO_PENDING), // Force a wait | 4128 MockRead(true, ERR_IO_PENDING), // Force a wait |
4129 CreateMockRead(*data_frame), | 4129 CreateMockRead(*data_frame), |
4130 MockRead(true, 0, 0) // EOF | 4130 MockRead(true, 0, 0) // EOF |
4131 }; | 4131 }; |
4132 | 4132 |
4133 scoped_refptr<DelayedSocketData> data( | 4133 scoped_ptr<DelayedSocketData> data( |
4134 new DelayedSocketData(1, reads, arraysize(reads), | 4134 new DelayedSocketData(1, reads, arraysize(reads), |
4135 writes, arraysize(writes))); | 4135 writes, arraysize(writes))); |
4136 | 4136 |
4137 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4137 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
4138 BoundNetLog(), GetParam()); | 4138 BoundNetLog(), GetParam()); |
4139 helper.RunPreTestSetup(); | 4139 helper.RunPreTestSetup(); |
4140 helper.AddData(data.get()); | 4140 helper.AddData(data.get()); |
4141 HttpNetworkTransaction* trans = helper.trans(); | 4141 HttpNetworkTransaction* trans = helper.trans(); |
4142 TestCompletionCallback callback; | 4142 TestCompletionCallback callback; |
4143 | 4143 |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4252 } | 4252 } |
4253 | 4253 |
4254 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 4254 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
4255 MockRead reads[] = { | 4255 MockRead reads[] = { |
4256 CreateMockRead(*reply), | 4256 CreateMockRead(*reply), |
4257 CreateMockRead(*body), | 4257 CreateMockRead(*body), |
4258 CreateMockRead(*settings_frame), | 4258 CreateMockRead(*settings_frame), |
4259 MockRead(true, 0, 0) // EOF | 4259 MockRead(true, 0, 0) // EOF |
4260 }; | 4260 }; |
4261 | 4261 |
4262 scoped_refptr<DelayedSocketData> data( | 4262 scoped_ptr<DelayedSocketData> data( |
4263 new DelayedSocketData(1, reads, arraysize(reads), | 4263 new DelayedSocketData(1, reads, arraysize(reads), |
4264 writes, arraysize(writes))); | 4264 writes, arraysize(writes))); |
4265 helper.AddData(data.get()); | 4265 helper.AddData(data.get()); |
4266 helper.RunDefaultTest(); | 4266 helper.RunDefaultTest(); |
4267 helper.VerifyDataConsumed(); | 4267 helper.VerifyDataConsumed(); |
4268 TransactionHelperResult out = helper.output(); | 4268 TransactionHelperResult out = helper.output(); |
4269 EXPECT_EQ(OK, out.rv); | 4269 EXPECT_EQ(OK, out.rv); |
4270 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 4270 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
4271 EXPECT_EQ("hello!", out.response_data); | 4271 EXPECT_EQ("hello!", out.response_data); |
4272 | 4272 |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4370 NULL, | 4370 NULL, |
4371 0)); | 4371 0)); |
4372 | 4372 |
4373 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 4373 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
4374 MockRead reads[] = { | 4374 MockRead reads[] = { |
4375 CreateMockRead(*reply), | 4375 CreateMockRead(*reply), |
4376 CreateMockRead(*body), | 4376 CreateMockRead(*body), |
4377 MockRead(true, 0, 0) // EOF | 4377 MockRead(true, 0, 0) // EOF |
4378 }; | 4378 }; |
4379 | 4379 |
4380 scoped_refptr<DelayedSocketData> data( | 4380 scoped_ptr<DelayedSocketData> data( |
4381 new DelayedSocketData(2, reads, arraysize(reads), | 4381 new DelayedSocketData(2, reads, arraysize(reads), |
4382 writes, arraysize(writes))); | 4382 writes, arraysize(writes))); |
4383 helper.AddData(data.get()); | 4383 helper.AddData(data.get()); |
4384 helper.RunDefaultTest(); | 4384 helper.RunDefaultTest(); |
4385 helper.VerifyDataConsumed(); | 4385 helper.VerifyDataConsumed(); |
4386 TransactionHelperResult out = helper.output(); | 4386 TransactionHelperResult out = helper.output(); |
4387 EXPECT_EQ(OK, out.rv); | 4387 EXPECT_EQ(OK, out.rv); |
4388 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 4388 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
4389 EXPECT_EQ("hello!", out.response_data); | 4389 EXPECT_EQ("hello!", out.response_data); |
4390 | 4390 |
(...skipping 23 matching lines...) Expand all Loading... |
4414 TEST_P(SpdyNetworkTransactionTest, GoAwayWithActiveStream) { | 4414 TEST_P(SpdyNetworkTransactionTest, GoAwayWithActiveStream) { |
4415 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); | 4415 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); |
4416 MockWrite writes[] = { CreateMockWrite(*req) }; | 4416 MockWrite writes[] = { CreateMockWrite(*req) }; |
4417 | 4417 |
4418 scoped_ptr<spdy::SpdyFrame> go_away(ConstructSpdyGoAway()); | 4418 scoped_ptr<spdy::SpdyFrame> go_away(ConstructSpdyGoAway()); |
4419 MockRead reads[] = { | 4419 MockRead reads[] = { |
4420 CreateMockRead(*go_away), | 4420 CreateMockRead(*go_away), |
4421 MockRead(true, 0, 0), // EOF | 4421 MockRead(true, 0, 0), // EOF |
4422 }; | 4422 }; |
4423 | 4423 |
4424 scoped_refptr<DelayedSocketData> data( | 4424 scoped_ptr<DelayedSocketData> data( |
4425 new DelayedSocketData(1, reads, arraysize(reads), | 4425 new DelayedSocketData(1, reads, arraysize(reads), |
4426 writes, arraysize(writes))); | 4426 writes, arraysize(writes))); |
4427 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4427 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
4428 BoundNetLog(), GetParam()); | 4428 BoundNetLog(), GetParam()); |
4429 helper.AddData(data); | 4429 helper.AddData(data.get()); |
4430 helper.RunToCompletion(data.get()); | 4430 helper.RunToCompletion(data.get()); |
4431 TransactionHelperResult out = helper.output(); | 4431 TransactionHelperResult out = helper.output(); |
4432 EXPECT_EQ(ERR_ABORTED, out.rv); | 4432 EXPECT_EQ(ERR_ABORTED, out.rv); |
4433 } | 4433 } |
4434 | 4434 |
4435 TEST_P(SpdyNetworkTransactionTest, CloseWithActiveStream) { | 4435 TEST_P(SpdyNetworkTransactionTest, CloseWithActiveStream) { |
4436 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); | 4436 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); |
4437 MockWrite writes[] = { CreateMockWrite(*req) }; | 4437 MockWrite writes[] = { CreateMockWrite(*req) }; |
4438 | 4438 |
4439 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 4439 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
4440 MockRead reads[] = { | 4440 MockRead reads[] = { |
4441 CreateMockRead(*resp), | 4441 CreateMockRead(*resp), |
4442 MockRead(false, 0, 0) // EOF | 4442 MockRead(false, 0, 0) // EOF |
4443 }; | 4443 }; |
4444 | 4444 |
4445 scoped_refptr<DelayedSocketData> data( | 4445 scoped_ptr<DelayedSocketData> data( |
4446 new DelayedSocketData(1, reads, arraysize(reads), | 4446 new DelayedSocketData(1, reads, arraysize(reads), |
4447 writes, arraysize(writes))); | 4447 writes, arraysize(writes))); |
4448 BoundNetLog log; | 4448 BoundNetLog log; |
4449 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4449 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
4450 log, GetParam()); | 4450 log, GetParam()); |
4451 helper.RunPreTestSetup(); | 4451 helper.RunPreTestSetup(); |
4452 helper.AddData(data.get()); | 4452 helper.AddData(data.get()); |
4453 HttpNetworkTransaction* trans = helper.trans(); | 4453 HttpNetworkTransaction* trans = helper.trans(); |
4454 | 4454 |
4455 TestCompletionCallback callback; | 4455 TestCompletionCallback callback; |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4517 MockWrite writes_SPDYNOSSL[] = { | 4517 MockWrite writes_SPDYNOSSL[] = { |
4518 CreateMockWrite(*req, 0), | 4518 CreateMockWrite(*req, 0), |
4519 }; | 4519 }; |
4520 | 4520 |
4521 MockRead reads_SPDYNOSSL[] = { | 4521 MockRead reads_SPDYNOSSL[] = { |
4522 CreateMockRead(*resp, 1), | 4522 CreateMockRead(*resp, 1), |
4523 CreateMockRead(*body.get(), 2), | 4523 CreateMockRead(*body.get(), 2), |
4524 MockRead(true, 0, 0, 3), | 4524 MockRead(true, 0, 0, 3), |
4525 }; | 4525 }; |
4526 | 4526 |
4527 scoped_refptr<OrderedSocketData> data; | 4527 scoped_ptr<OrderedSocketData> data; |
4528 switch(GetParam()) { | 4528 switch(GetParam()) { |
4529 case SPDYNOSSL: | 4529 case SPDYNOSSL: |
4530 data = new OrderedSocketData(reads_SPDYNOSSL, | 4530 data.reset(new OrderedSocketData(reads_SPDYNOSSL, |
4531 arraysize(reads_SPDYNOSSL), | 4531 arraysize(reads_SPDYNOSSL), |
4532 writes_SPDYNOSSL, | 4532 writes_SPDYNOSSL, |
4533 arraysize(writes_SPDYNOSSL)); | 4533 arraysize(writes_SPDYNOSSL))); |
4534 break; | 4534 break; |
4535 case SPDYSSL: | 4535 case SPDYSSL: |
4536 data = new OrderedSocketData(reads_SPDYSSL, arraysize(reads_SPDYSSL), | 4536 data.reset(new OrderedSocketData(reads_SPDYSSL, |
4537 writes_SPDYSSL, arraysize(writes_SPDYSSL)); | 4537 arraysize(reads_SPDYSSL), |
| 4538 writes_SPDYSSL, |
| 4539 arraysize(writes_SPDYSSL))); |
4538 break; | 4540 break; |
4539 case SPDYNPN: | 4541 case SPDYNPN: |
4540 data = new OrderedSocketData(reads_SPDYNPN, arraysize(reads_SPDYNPN), | 4542 data.reset(new OrderedSocketData(reads_SPDYNPN, |
4541 writes_SPDYNPN, arraysize(writes_SPDYNPN)); | 4543 arraysize(reads_SPDYNPN), |
| 4544 writes_SPDYNPN, |
| 4545 arraysize(writes_SPDYNPN))); |
4542 break; | 4546 break; |
4543 default: | 4547 default: |
4544 NOTREACHED(); | 4548 NOTREACHED(); |
4545 } | 4549 } |
4546 | 4550 |
4547 helper.AddData(data.get()); | 4551 helper.AddData(data.get()); |
4548 TestCompletionCallback callback; | 4552 TestCompletionCallback callback; |
4549 | 4553 |
4550 int rv = trans->Start( | 4554 int rv = trans->Start( |
4551 &CreateGetRequest(), callback.callback(), BoundNetLog()); | 4555 &CreateGetRequest(), callback.callback(), BoundNetLog()); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4593 }; | 4597 }; |
4594 | 4598 |
4595 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 4599 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
4596 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 4600 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
4597 MockRead reads[] = { | 4601 MockRead reads[] = { |
4598 CreateMockRead(*resp, 2), | 4602 CreateMockRead(*resp, 2), |
4599 CreateMockRead(*body, 3), | 4603 CreateMockRead(*body, 3), |
4600 MockRead(true, ERR_IO_PENDING, 4), // Force a pause | 4604 MockRead(true, ERR_IO_PENDING, 4), // Force a pause |
4601 MockRead(true, 0, 5) // EOF | 4605 MockRead(true, 0, 5) // EOF |
4602 }; | 4606 }; |
4603 scoped_refptr<OrderedSocketData> data( | 4607 scoped_ptr<OrderedSocketData> data( |
4604 new OrderedSocketData(reads, arraysize(reads), | 4608 new OrderedSocketData(reads, arraysize(reads), |
4605 writes, arraysize(writes))); | 4609 writes, arraysize(writes))); |
4606 helper.AddData(data.get()); | 4610 helper.AddData(data.get()); |
4607 HttpNetworkTransaction* trans = helper.trans(); | 4611 HttpNetworkTransaction* trans = helper.trans(); |
4608 | 4612 |
4609 TestCompletionCallback callback; | 4613 TestCompletionCallback callback; |
4610 TransactionHelperResult out; | 4614 TransactionHelperResult out; |
4611 out.rv = trans->Start( | 4615 out.rv = trans->Start( |
4612 &CreateGetRequest(), callback.callback(), BoundNetLog()); | 4616 &CreateGetRequest(), callback.callback(), BoundNetLog()); |
4613 | 4617 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4671 MockWrite(false, kConnect80, arraysize(kConnect80) - 1, 0), | 4675 MockWrite(false, kConnect80, arraysize(kConnect80) - 1, 0), |
4672 CreateMockWrite(*req2, 2), | 4676 CreateMockWrite(*req2, 2), |
4673 }; | 4677 }; |
4674 MockRead reads_SPDYSSL[] = { | 4678 MockRead reads_SPDYSSL[] = { |
4675 MockRead(false, kHTTP200, arraysize(kHTTP200) - 1, 1), | 4679 MockRead(false, kHTTP200, arraysize(kHTTP200) - 1, 1), |
4676 CreateMockRead(*resp2, 3), | 4680 CreateMockRead(*resp2, 3), |
4677 CreateMockRead(*body2, 4), | 4681 CreateMockRead(*body2, 4), |
4678 MockRead(true, 0, 0, 5), | 4682 MockRead(true, 0, 0, 5), |
4679 }; | 4683 }; |
4680 | 4684 |
4681 scoped_refptr<OrderedSocketData> data_proxy; | 4685 scoped_ptr<OrderedSocketData> data_proxy; |
4682 switch(GetParam()) { | 4686 switch(GetParam()) { |
4683 case SPDYNPN: | 4687 case SPDYNPN: |
4684 data_proxy = new OrderedSocketData(reads_SPDYNPN, | 4688 data_proxy.reset(new OrderedSocketData(reads_SPDYNPN, |
4685 arraysize(reads_SPDYNPN), | 4689 arraysize(reads_SPDYNPN), |
4686 writes_SPDYNPN, | 4690 writes_SPDYNPN, |
4687 arraysize(writes_SPDYNPN)); | 4691 arraysize(writes_SPDYNPN))); |
4688 break; | 4692 break; |
4689 case SPDYNOSSL: | 4693 case SPDYNOSSL: |
4690 data_proxy = new OrderedSocketData(reads_SPDYNOSSL, | 4694 data_proxy.reset(new OrderedSocketData(reads_SPDYNOSSL, |
4691 arraysize(reads_SPDYNOSSL), | 4695 arraysize(reads_SPDYNOSSL), |
4692 writes_SPDYNOSSL, | 4696 writes_SPDYNOSSL, |
4693 arraysize(writes_SPDYNOSSL)); | 4697 arraysize(writes_SPDYNOSSL))); |
4694 break; | 4698 break; |
4695 case SPDYSSL: | 4699 case SPDYSSL: |
4696 data_proxy = new OrderedSocketData(reads_SPDYSSL, | 4700 data_proxy.reset(new OrderedSocketData(reads_SPDYSSL, |
4697 arraysize(reads_SPDYSSL), | 4701 arraysize(reads_SPDYSSL), |
4698 writes_SPDYSSL, | 4702 writes_SPDYSSL, |
4699 arraysize(writes_SPDYSSL)); | 4703 arraysize(writes_SPDYSSL))); |
4700 break; | 4704 break; |
4701 default: | 4705 default: |
4702 NOTREACHED(); | 4706 NOTREACHED(); |
4703 } | 4707 } |
4704 | 4708 |
4705 // Create another request to www.google.com, but this time through a proxy. | 4709 // Create another request to www.google.com, but this time through a proxy. |
4706 HttpRequestInfo request_proxy; | 4710 HttpRequestInfo request_proxy; |
4707 request_proxy.method = "GET"; | 4711 request_proxy.method = "GET"; |
4708 request_proxy.url = GURL("http://www.google.com/foo.dat"); | 4712 request_proxy.url = GURL("http://www.google.com/foo.dat"); |
4709 request_proxy.load_flags = 0; | 4713 request_proxy.load_flags = 0; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4767 // Induce the RST while waiting for our transaction to send. | 4771 // Induce the RST while waiting for our transaction to send. |
4768 VARIANT_RST_DURING_SEND_COMPLETION, | 4772 VARIANT_RST_DURING_SEND_COMPLETION, |
4769 // Induce the RST while waiting for our transaction to read. | 4773 // Induce the RST while waiting for our transaction to read. |
4770 // In this case, the send completed - everything copied into the SNDBUF. | 4774 // In this case, the send completed - everything copied into the SNDBUF. |
4771 VARIANT_RST_DURING_READ_COMPLETION | 4775 VARIANT_RST_DURING_READ_COMPLETION |
4772 }; | 4776 }; |
4773 | 4777 |
4774 for (int variant = VARIANT_RST_DURING_SEND_COMPLETION; | 4778 for (int variant = VARIANT_RST_DURING_SEND_COMPLETION; |
4775 variant <= VARIANT_RST_DURING_READ_COMPLETION; | 4779 variant <= VARIANT_RST_DURING_READ_COMPLETION; |
4776 ++variant) { | 4780 ++variant) { |
4777 scoped_refptr<DelayedSocketData> data1( | 4781 scoped_ptr<DelayedSocketData> data1( |
4778 new DelayedSocketData(1, reads, arraysize(reads), | 4782 new DelayedSocketData(1, reads, arraysize(reads), |
4779 NULL, 0)); | 4783 NULL, 0)); |
4780 | 4784 |
4781 scoped_refptr<DelayedSocketData> data2( | 4785 scoped_ptr<DelayedSocketData> data2( |
4782 new DelayedSocketData(1, reads2, arraysize(reads2), | 4786 new DelayedSocketData(1, reads2, arraysize(reads2), |
4783 NULL, 0)); | 4787 NULL, 0)); |
4784 | 4788 |
4785 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4789 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
4786 BoundNetLog(), GetParam()); | 4790 BoundNetLog(), GetParam()); |
4787 helper.AddData(data1.get()); | 4791 helper.AddData(data1.get()); |
4788 helper.AddData(data2.get()); | 4792 helper.AddData(data2.get()); |
4789 helper.RunPreTestSetup(); | 4793 helper.RunPreTestSetup(); |
4790 | 4794 |
4791 for (int i = 0; i < 2; ++i) { | 4795 for (int i = 0; i < 2; ++i) { |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4834 MockWrite spdy_writes[] = { CreateMockWrite(*req) }; | 4838 MockWrite spdy_writes[] = { CreateMockWrite(*req) }; |
4835 | 4839 |
4836 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 4840 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
4837 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 4841 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
4838 MockRead spdy_reads[] = { | 4842 MockRead spdy_reads[] = { |
4839 CreateMockRead(*resp), | 4843 CreateMockRead(*resp), |
4840 CreateMockRead(*body), | 4844 CreateMockRead(*body), |
4841 MockRead(true, 0, 0) // EOF | 4845 MockRead(true, 0, 0) // EOF |
4842 }; | 4846 }; |
4843 | 4847 |
4844 scoped_refptr<DelayedSocketData> data( | 4848 scoped_ptr<DelayedSocketData> data( |
4845 new DelayedSocketData(1, | 4849 new DelayedSocketData(1, |
4846 spdy_reads, arraysize(spdy_reads), | 4850 spdy_reads, arraysize(spdy_reads), |
4847 spdy_writes, arraysize(spdy_writes))); | 4851 spdy_writes, arraysize(spdy_writes))); |
4848 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4852 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
4849 BoundNetLog(), GetParam()); | 4853 BoundNetLog(), GetParam()); |
4850 helper.RunToCompletion(data.get()); | 4854 helper.RunToCompletion(data.get()); |
4851 TransactionHelperResult out = helper.output(); | 4855 TransactionHelperResult out = helper.output(); |
4852 EXPECT_EQ(OK, out.rv); | 4856 EXPECT_EQ(OK, out.rv); |
4853 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 4857 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
4854 EXPECT_EQ("hello!", out.response_data); | 4858 EXPECT_EQ("hello!", out.response_data); |
4855 | 4859 |
4856 net::HttpStreamFactory::set_spdy_enabled(false); | 4860 net::HttpStreamFactory::set_spdy_enabled(false); |
4857 MockRead http_reads[] = { | 4861 MockRead http_reads[] = { |
4858 MockRead("HTTP/1.1 200 OK\r\n\r\n"), | 4862 MockRead("HTTP/1.1 200 OK\r\n\r\n"), |
4859 MockRead("hello from http"), | 4863 MockRead("hello from http"), |
4860 MockRead(false, OK), | 4864 MockRead(false, OK), |
4861 }; | 4865 }; |
4862 scoped_refptr<DelayedSocketData> data2( | 4866 scoped_ptr<DelayedSocketData> data2( |
4863 new DelayedSocketData(1, http_reads, arraysize(http_reads), | 4867 new DelayedSocketData(1, http_reads, arraysize(http_reads), |
4864 NULL, 0)); | 4868 NULL, 0)); |
4865 NormalSpdyTransactionHelper helper2(CreateGetRequest(), | 4869 NormalSpdyTransactionHelper helper2(CreateGetRequest(), |
4866 BoundNetLog(), GetParam()); | 4870 BoundNetLog(), GetParam()); |
4867 helper2.SetSpdyDisabled(); | 4871 helper2.SetSpdyDisabled(); |
4868 helper2.RunToCompletion(data2.get()); | 4872 helper2.RunToCompletion(data2.get()); |
4869 TransactionHelperResult out2 = helper2.output(); | 4873 TransactionHelperResult out2 = helper2.output(); |
4870 EXPECT_EQ(OK, out2.rv); | 4874 EXPECT_EQ(OK, out2.rv); |
4871 EXPECT_EQ("HTTP/1.1 200 OK", out2.status_line); | 4875 EXPECT_EQ("HTTP/1.1 200 OK", out2.status_line); |
4872 EXPECT_EQ("hello from http", out2.response_data); | 4876 EXPECT_EQ("hello from http", out2.response_data); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4914 scoped_ptr<spdy::SpdyFrame> resp_data(ConstructSpdyGetSynReply(NULL, 0, 3)); | 4918 scoped_ptr<spdy::SpdyFrame> resp_data(ConstructSpdyGetSynReply(NULL, 0, 3)); |
4915 scoped_ptr<spdy::SpdyFrame> body_data(ConstructSpdyBodyFrame(3, true)); | 4919 scoped_ptr<spdy::SpdyFrame> body_data(ConstructSpdyBodyFrame(3, true)); |
4916 MockRead spdy_reads[] = { | 4920 MockRead spdy_reads[] = { |
4917 CreateMockRead(*resp_authentication, 2), | 4921 CreateMockRead(*resp_authentication, 2), |
4918 CreateMockRead(*body_authentication, 3), | 4922 CreateMockRead(*body_authentication, 3), |
4919 CreateMockRead(*resp_data, 5), | 4923 CreateMockRead(*resp_data, 5), |
4920 CreateMockRead(*body_data, 6), | 4924 CreateMockRead(*body_data, 6), |
4921 MockRead(true, 0, 7), | 4925 MockRead(true, 0, 7), |
4922 }; | 4926 }; |
4923 | 4927 |
4924 scoped_refptr<OrderedSocketData> data( | 4928 scoped_ptr<OrderedSocketData> data( |
4925 new OrderedSocketData(spdy_reads, arraysize(spdy_reads), | 4929 new OrderedSocketData(spdy_reads, arraysize(spdy_reads), |
4926 spdy_writes, arraysize(spdy_writes))); | 4930 spdy_writes, arraysize(spdy_writes))); |
4927 HttpRequestInfo request(CreateGetRequest()); | 4931 HttpRequestInfo request(CreateGetRequest()); |
4928 BoundNetLog net_log; | 4932 BoundNetLog net_log; |
4929 NormalSpdyTransactionHelper helper(request, net_log, GetParam()); | 4933 NormalSpdyTransactionHelper helper(request, net_log, GetParam()); |
4930 | 4934 |
4931 helper.RunPreTestSetup(); | 4935 helper.RunPreTestSetup(); |
4932 helper.AddData(data.get()); | 4936 helper.AddData(data.get()); |
4933 HttpNetworkTransaction* trans = helper.trans(); | 4937 HttpNetworkTransaction* trans = helper.trans(); |
4934 TestCompletionCallback callback; | 4938 TestCompletionCallback callback; |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5023 CreateMockRead(*stream2_headers, 4), | 5027 CreateMockRead(*stream2_headers, 4), |
5024 CreateMockRead(*stream1_body, 5, false), | 5028 CreateMockRead(*stream1_body, 5, false), |
5025 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), | 5029 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), |
5026 arraysize(kPushBodyFrame), 6), | 5030 arraysize(kPushBodyFrame), 6), |
5027 MockRead(true, ERR_IO_PENDING, 7), // Force a pause | 5031 MockRead(true, ERR_IO_PENDING, 7), // Force a pause |
5028 }; | 5032 }; |
5029 | 5033 |
5030 HttpResponseInfo response; | 5034 HttpResponseInfo response; |
5031 HttpResponseInfo response2; | 5035 HttpResponseInfo response2; |
5032 std::string expected_push_result("pushed"); | 5036 std::string expected_push_result("pushed"); |
5033 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 5037 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
5034 reads, | 5038 reads, |
5035 arraysize(reads), | 5039 arraysize(reads), |
5036 writes, | 5040 writes, |
5037 arraysize(writes))); | 5041 arraysize(writes))); |
5038 RunServerPushTest(data.get(), | 5042 RunServerPushTest(data.get(), |
5039 &response, | 5043 &response, |
5040 &response2, | 5044 &response2, |
5041 expected_push_result); | 5045 expected_push_result); |
5042 | 5046 |
5043 // Verify the SYN_REPLY. | 5047 // Verify the SYN_REPLY. |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5382 0, | 5386 0, |
5383 0)); | 5387 0)); |
5384 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, true)); | 5388 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, true)); |
5385 MockRead reads[] = { | 5389 MockRead reads[] = { |
5386 CreateMockRead(*stream1_reply), | 5390 CreateMockRead(*stream1_reply), |
5387 CreateMockRead(*stream1_headers), | 5391 CreateMockRead(*stream1_headers), |
5388 CreateMockRead(*stream1_body), | 5392 CreateMockRead(*stream1_body), |
5389 MockRead(true, 0, 0) // EOF | 5393 MockRead(true, 0, 0) // EOF |
5390 }; | 5394 }; |
5391 | 5395 |
5392 scoped_refptr<DelayedSocketData> data( | 5396 scoped_ptr<DelayedSocketData> data( |
5393 new DelayedSocketData(1, reads, arraysize(reads), | 5397 new DelayedSocketData(1, reads, arraysize(reads), |
5394 writes, arraysize(writes))); | 5398 writes, arraysize(writes))); |
5395 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 5399 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
5396 BoundNetLog(), GetParam()); | 5400 BoundNetLog(), GetParam()); |
5397 helper.RunToCompletion(data.get()); | 5401 helper.RunToCompletion(data.get()); |
5398 TransactionHelperResult out = helper.output(); | 5402 TransactionHelperResult out = helper.output(); |
5399 EXPECT_EQ(OK, out.rv); | 5403 EXPECT_EQ(OK, out.rv); |
5400 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 5404 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
5401 EXPECT_EQ("hello!", out.response_data); | 5405 EXPECT_EQ("hello!", out.response_data); |
5402 } | 5406 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5440 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, false)); | 5444 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, false)); |
5441 scoped_ptr<spdy::SpdyFrame> stream1_body2(ConstructSpdyBodyFrame(1, true)); | 5445 scoped_ptr<spdy::SpdyFrame> stream1_body2(ConstructSpdyBodyFrame(1, true)); |
5442 MockRead reads[] = { | 5446 MockRead reads[] = { |
5443 CreateMockRead(*stream1_reply), | 5447 CreateMockRead(*stream1_reply), |
5444 CreateMockRead(*stream1_body), | 5448 CreateMockRead(*stream1_body), |
5445 CreateMockRead(*stream1_headers), | 5449 CreateMockRead(*stream1_headers), |
5446 CreateMockRead(*stream1_body2), | 5450 CreateMockRead(*stream1_body2), |
5447 MockRead(true, 0, 0) // EOF | 5451 MockRead(true, 0, 0) // EOF |
5448 }; | 5452 }; |
5449 | 5453 |
5450 scoped_refptr<DelayedSocketData> data( | 5454 scoped_ptr<DelayedSocketData> data( |
5451 new DelayedSocketData(1, reads, arraysize(reads), | 5455 new DelayedSocketData(1, reads, arraysize(reads), |
5452 writes, arraysize(writes))); | 5456 writes, arraysize(writes))); |
5453 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 5457 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
5454 BoundNetLog(), GetParam()); | 5458 BoundNetLog(), GetParam()); |
5455 helper.RunToCompletion(data.get()); | 5459 helper.RunToCompletion(data.get()); |
5456 TransactionHelperResult out = helper.output(); | 5460 TransactionHelperResult out = helper.output(); |
5457 EXPECT_EQ(OK, out.rv); | 5461 EXPECT_EQ(OK, out.rv); |
5458 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 5462 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
5459 EXPECT_EQ("hello!hello!", out.response_data); | 5463 EXPECT_EQ("hello!hello!", out.response_data); |
5460 } | 5464 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5498 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, false)); | 5502 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, false)); |
5499 scoped_ptr<spdy::SpdyFrame> stream1_body2(ConstructSpdyBodyFrame(1, true)); | 5503 scoped_ptr<spdy::SpdyFrame> stream1_body2(ConstructSpdyBodyFrame(1, true)); |
5500 MockRead reads[] = { | 5504 MockRead reads[] = { |
5501 CreateMockRead(*stream1_reply), | 5505 CreateMockRead(*stream1_reply), |
5502 CreateMockRead(*stream1_body), | 5506 CreateMockRead(*stream1_body), |
5503 CreateMockRead(*stream1_headers), | 5507 CreateMockRead(*stream1_headers), |
5504 CreateMockRead(*stream1_body2), | 5508 CreateMockRead(*stream1_body2), |
5505 MockRead(true, 0, 0) // EOF | 5509 MockRead(true, 0, 0) // EOF |
5506 }; | 5510 }; |
5507 | 5511 |
5508 scoped_refptr<DelayedSocketData> data( | 5512 scoped_ptr<DelayedSocketData> data( |
5509 new DelayedSocketData(1, reads, arraysize(reads), | 5513 new DelayedSocketData(1, reads, arraysize(reads), |
5510 writes, arraysize(writes))); | 5514 writes, arraysize(writes))); |
5511 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 5515 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
5512 BoundNetLog(), GetParam()); | 5516 BoundNetLog(), GetParam()); |
5513 helper.RunToCompletion(data.get()); | 5517 helper.RunToCompletion(data.get()); |
5514 TransactionHelperResult out = helper.output(); | 5518 TransactionHelperResult out = helper.output(); |
5515 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); | 5519 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); |
5516 } | 5520 } |
5517 | 5521 |
5518 TEST_P(SpdyNetworkTransactionTest, ServerPushCrossOriginCorrectness) { | 5522 TEST_P(SpdyNetworkTransactionTest, ServerPushCrossOriginCorrectness) { |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5576 MockRead reads[] = { | 5580 MockRead reads[] = { |
5577 CreateMockRead(*stream1_reply, 2), | 5581 CreateMockRead(*stream1_reply, 2), |
5578 CreateMockRead(*stream2_syn, 3), | 5582 CreateMockRead(*stream2_syn, 3), |
5579 CreateMockRead(*stream1_body, 5, false), | 5583 CreateMockRead(*stream1_body, 5, false), |
5580 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), | 5584 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), |
5581 arraysize(kPushBodyFrame), 6), | 5585 arraysize(kPushBodyFrame), 6), |
5582 MockRead(true, ERR_IO_PENDING, 7), // Force a pause | 5586 MockRead(true, ERR_IO_PENDING, 7), // Force a pause |
5583 }; | 5587 }; |
5584 | 5588 |
5585 HttpResponseInfo response; | 5589 HttpResponseInfo response; |
5586 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 5590 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
5587 reads, | 5591 reads, |
5588 arraysize(reads), | 5592 arraysize(reads), |
5589 writes, | 5593 writes, |
5590 arraysize(writes))); | 5594 arraysize(writes))); |
5591 | 5595 |
5592 HttpRequestInfo request; | 5596 HttpRequestInfo request; |
5593 request.method = "GET"; | 5597 request.method = "GET"; |
5594 request.url = GURL(url_to_fetch); | 5598 request.url = GURL(url_to_fetch); |
5595 request.load_flags = 0; | 5599 request.load_flags = 0; |
5596 NormalSpdyTransactionHelper helper(request, | 5600 NormalSpdyTransactionHelper helper(request, |
5597 BoundNetLog(), GetParam()); | 5601 BoundNetLog(), GetParam()); |
5598 helper.RunPreTestSetup(); | 5602 helper.RunPreTestSetup(); |
5599 helper.AddData(data); | 5603 helper.AddData(data.get()); |
5600 | 5604 |
5601 HttpNetworkTransaction* trans = helper.trans(); | 5605 HttpNetworkTransaction* trans = helper.trans(); |
5602 | 5606 |
5603 // Start the transaction with basic parameters. | 5607 // Start the transaction with basic parameters. |
5604 TestCompletionCallback callback; | 5608 TestCompletionCallback callback; |
5605 | 5609 |
5606 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); | 5610 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); |
5607 EXPECT_EQ(ERR_IO_PENDING, rv); | 5611 EXPECT_EQ(ERR_IO_PENDING, rv); |
5608 rv = callback.WaitForResult(); | 5612 rv = callback.WaitForResult(); |
5609 | 5613 |
5610 // Read the response body. | 5614 // Read the response body. |
5611 std::string result; | 5615 std::string result; |
5612 ReadResult(trans, data, &result); | 5616 ReadResult(trans, data.get(), &result); |
5613 | 5617 |
5614 // Verify that we consumed all test data. | 5618 // Verify that we consumed all test data. |
5615 EXPECT_TRUE(data->at_read_eof()); | 5619 EXPECT_TRUE(data->at_read_eof()); |
5616 EXPECT_TRUE(data->at_write_eof()); | 5620 EXPECT_TRUE(data->at_write_eof()); |
5617 | 5621 |
5618 // Verify the SYN_REPLY. | 5622 // Verify the SYN_REPLY. |
5619 // Copy the response info, because trans goes away. | 5623 // Copy the response info, because trans goes away. |
5620 response = *trans->GetResponseInfo(); | 5624 response = *trans->GetResponseInfo(); |
5621 | 5625 |
5622 VerifyStreamsClosed(helper); | 5626 VerifyStreamsClosed(helper); |
(...skipping 17 matching lines...) Expand all Loading... |
5640 ConstructSpdyRstStream(1, spdy::REFUSED_STREAM)); | 5644 ConstructSpdyRstStream(1, spdy::REFUSED_STREAM)); |
5641 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 3)); | 5645 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 3)); |
5642 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(3, true)); | 5646 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(3, true)); |
5643 MockRead reads[] = { | 5647 MockRead reads[] = { |
5644 CreateMockRead(*refused, 2), | 5648 CreateMockRead(*refused, 2), |
5645 CreateMockRead(*resp, 4), | 5649 CreateMockRead(*resp, 4), |
5646 CreateMockRead(*body, 5), | 5650 CreateMockRead(*body, 5), |
5647 MockRead(true, 0, 6) // EOF | 5651 MockRead(true, 0, 6) // EOF |
5648 }; | 5652 }; |
5649 | 5653 |
5650 scoped_refptr<OrderedSocketData> data( | 5654 scoped_ptr<OrderedSocketData> data( |
5651 new OrderedSocketData(reads, arraysize(reads), | 5655 new OrderedSocketData(reads, arraysize(reads), |
5652 writes, arraysize(writes))); | 5656 writes, arraysize(writes))); |
5653 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 5657 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
5654 BoundNetLog(), GetParam()); | 5658 BoundNetLog(), GetParam()); |
5655 | 5659 |
5656 helper.RunPreTestSetup(); | 5660 helper.RunPreTestSetup(); |
5657 helper.AddData(data.get()); | 5661 helper.AddData(data.get()); |
5658 | 5662 |
5659 HttpNetworkTransaction* trans = helper.trans(); | 5663 HttpNetworkTransaction* trans = helper.trans(); |
5660 | 5664 |
(...skipping 15 matching lines...) Expand all Loading... |
5676 << " Write index: " | 5680 << " Write index: " |
5677 << data->write_index(); | 5681 << data->write_index(); |
5678 | 5682 |
5679 // Verify the SYN_REPLY. | 5683 // Verify the SYN_REPLY. |
5680 HttpResponseInfo response = *trans->GetResponseInfo(); | 5684 HttpResponseInfo response = *trans->GetResponseInfo(); |
5681 EXPECT_TRUE(response.headers != NULL); | 5685 EXPECT_TRUE(response.headers != NULL); |
5682 EXPECT_EQ("HTTP/1.1 200 OK", response.headers->GetStatusLine()); | 5686 EXPECT_EQ("HTTP/1.1 200 OK", response.headers->GetStatusLine()); |
5683 } | 5687 } |
5684 | 5688 |
5685 } // namespace net | 5689 } // namespace net |
OLD | NEW |