OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/quic/quic_http_stream.h" | 5 #include "net/quic/quic_http_stream.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
| 12 #include "base/strings/string_number_conversions.h" |
12 #include "base/thread_task_runner_handle.h" | 13 #include "base/thread_task_runner_handle.h" |
13 #include "net/base/chunked_upload_data_stream.h" | 14 #include "net/base/chunked_upload_data_stream.h" |
14 #include "net/base/elements_upload_data_stream.h" | 15 #include "net/base/elements_upload_data_stream.h" |
15 #include "net/base/net_errors.h" | 16 #include "net/base/net_errors.h" |
16 #include "net/base/socket_performance_watcher.h" | 17 #include "net/base/socket_performance_watcher.h" |
17 #include "net/base/test_completion_callback.h" | 18 #include "net/base/test_completion_callback.h" |
18 #include "net/base/test_data_directory.h" | 19 #include "net/base/test_data_directory.h" |
19 #include "net/base/upload_bytes_element_reader.h" | 20 #include "net/base/upload_bytes_element_reader.h" |
20 #include "net/http/http_response_headers.h" | 21 #include "net/http/http_response_headers.h" |
21 #include "net/http/transport_security_state.h" | 22 #include "net/http/transport_security_state.h" |
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
563 EXPECT_FALSE(response_.response_time.is_null()); | 564 EXPECT_FALSE(response_.response_time.is_null()); |
564 EXPECT_FALSE(response_.request_time.is_null()); | 565 EXPECT_FALSE(response_.request_time.is_null()); |
565 | 566 |
566 // Send the response body. | 567 // Send the response body. |
567 const char kResponseBody[] = "Hello world!"; | 568 const char kResponseBody[] = "Hello world!"; |
568 ProcessPacket( | 569 ProcessPacket( |
569 ConstructDataPacket(3, false, !kFin, /*offset=*/0, kResponseBody)); | 570 ConstructDataPacket(3, false, !kFin, /*offset=*/0, kResponseBody)); |
570 SpdyHeaderBlock trailers; | 571 SpdyHeaderBlock trailers; |
571 size_t spdy_trailers_frame_length; | 572 size_t spdy_trailers_frame_length; |
572 trailers["foo"] = "bar"; | 573 trailers["foo"] = "bar"; |
| 574 trailers[kFinalOffsetHeaderKey] = base::IntToString(strlen(kResponseBody)); |
573 ProcessPacket(ConstructResponseTrailersPacket( | 575 ProcessPacket(ConstructResponseTrailersPacket( |
574 4, kFin, trailers, &spdy_trailers_frame_length, &offset)); | 576 4, kFin, trailers, &spdy_trailers_frame_length, &offset)); |
575 | 577 |
576 // Make sure trailers are processed. | 578 // Make sure trailers are processed. |
577 base::MessageLoop::current()->RunUntilIdle(); | 579 base::MessageLoop::current()->RunUntilIdle(); |
578 | 580 |
579 EXPECT_EQ(static_cast<int>(strlen(kResponseBody)), | 581 EXPECT_EQ(static_cast<int>(strlen(kResponseBody)), |
580 stream_->ReadResponseBody(read_buffer_.get(), read_buffer_->size(), | 582 stream_->ReadResponseBody(read_buffer_.get(), read_buffer_->size(), |
581 callback_.callback())); | 583 callback_.callback())); |
582 EXPECT_TRUE(stream_->IsResponseBodyComplete()); | 584 EXPECT_TRUE(stream_->IsResponseBodyComplete()); |
(...skipping 1041 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1624 // QuicHttpStream::GetTotalSent/ReceivedBytes currently only includes the | 1626 // QuicHttpStream::GetTotalSent/ReceivedBytes currently only includes the |
1625 // headers and payload. | 1627 // headers and payload. |
1626 EXPECT_EQ(static_cast<int64_t>(spdy_request_header_frame_length), | 1628 EXPECT_EQ(static_cast<int64_t>(spdy_request_header_frame_length), |
1627 promised_stream_->GetTotalSentBytes()); | 1629 promised_stream_->GetTotalSentBytes()); |
1628 EXPECT_EQ(static_cast<int64_t>(spdy_response_header_frame_length), | 1630 EXPECT_EQ(static_cast<int64_t>(spdy_response_header_frame_length), |
1629 promised_stream_->GetTotalReceivedBytes()); | 1631 promised_stream_->GetTotalReceivedBytes()); |
1630 } | 1632 } |
1631 | 1633 |
1632 } // namespace test | 1634 } // namespace test |
1633 } // namespace net | 1635 } // namespace net |
OLD | NEW |