| 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/tools/quic/test_tools/quic_test_client.h" | 5 #include "net/tools/quic/test_tools/quic_test_client.h" |
| 6 | 6 |
| 7 #include "base/time/time.h" | 7 #include "base/time/time.h" |
| 8 #include "net/base/completion_callback.h" | 8 #include "net/base/completion_callback.h" |
| 9 #include "net/base/net_errors.h" | 9 #include "net/base/net_errors.h" |
| 10 #include "net/cert/cert_verify_result.h" | 10 #include "net/cert/cert_verify_result.h" |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 174 const string& server_hostname, | 174 const string& server_hostname, |
| 175 const QuicConfig& config, | 175 const QuicConfig& config, |
| 176 const QuicVersionVector& supported_versions) | 176 const QuicVersionVector& supported_versions) |
| 177 : client_(new MockableQuicClient(server_address, | 177 : client_(new MockableQuicClient(server_address, |
| 178 QuicServerId(server_hostname, | 178 QuicServerId(server_hostname, |
| 179 server_address.port(), | 179 server_address.port(), |
| 180 PRIVACY_MODE_DISABLED), | 180 PRIVACY_MODE_DISABLED), |
| 181 config, | 181 config, |
| 182 supported_versions, | 182 supported_versions, |
| 183 &epoll_server_)), | 183 &epoll_server_)), |
| 184 allow_bidirectional_data_(false) { | 184 allow_bidirectional_data_(false), |
| 185 num_requests_(0), |
| 186 num_responses_(0) { |
| 185 Initialize(); | 187 Initialize(); |
| 186 } | 188 } |
| 187 | 189 |
| 188 QuicTestClient::QuicTestClient() : allow_bidirectional_data_(false) {} | 190 QuicTestClient::QuicTestClient() : allow_bidirectional_data_(false) {} |
| 189 | 191 |
| 190 QuicTestClient::~QuicTestClient() { | 192 QuicTestClient::~QuicTestClient() { |
| 191 if (stream_) { | 193 if (stream_) { |
| 192 stream_->set_visitor(nullptr); | 194 stream_->set_visitor(nullptr); |
| 193 } | 195 } |
| 194 client_->Disconnect(); | 196 client_->Disconnect(); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 // T-E header. | 268 // T-E header. |
| 267 string encoding; | 269 string encoding; |
| 268 headers->GetAllOfHeaderAsString("transfer-encoding", &encoding); | 270 headers->GetAllOfHeaderAsString("transfer-encoding", &encoding); |
| 269 spdy_headers.insert(std::make_pair("transfer-encoding", encoding)); | 271 spdy_headers.insert(std::make_pair("transfer-encoding", encoding)); |
| 270 } | 272 } |
| 271 if (static_cast<StringPiece>(spdy_headers[":authority"]).empty()) { | 273 if (static_cast<StringPiece>(spdy_headers[":authority"]).empty()) { |
| 272 // HTTP/2 requests should include the :authority pseudo hader. | 274 // HTTP/2 requests should include the :authority pseudo hader. |
| 273 spdy_headers[":authority"] = client_->server_id().host(); | 275 spdy_headers[":authority"] = client_->server_id().host(); |
| 274 } | 276 } |
| 275 ret = stream->SendRequest(spdy_headers, body, fin); | 277 ret = stream->SendRequest(spdy_headers, body, fin); |
| 278 ++num_requests_; |
| 276 } else { | 279 } else { |
| 277 stream->SendBody(body.as_string(), fin, delegate); | 280 stream->SendBody(body.as_string(), fin, delegate); |
| 278 ret = body.length(); | 281 ret = body.length(); |
| 279 } | 282 } |
| 280 if (FLAGS_enable_quic_stateless_reject_support) { | 283 if (FLAGS_enable_quic_stateless_reject_support) { |
| 281 BalsaHeaders* new_headers = nullptr; | 284 BalsaHeaders* new_headers = nullptr; |
| 282 if (headers) { | 285 if (headers) { |
| 283 new_headers = new BalsaHeaders; | 286 new_headers = new BalsaHeaders; |
| 284 new_headers->CopyFrom(*headers); | 287 new_headers->CopyFrom(*headers); |
| 285 } | 288 } |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 569 response_headers_complete_ = stream_->headers_decompressed(); | 572 response_headers_complete_ = stream_->headers_decompressed(); |
| 570 SpdyBalsaUtils::SpdyHeadersToResponseHeaders(stream_->headers(), &headers_); | 573 SpdyBalsaUtils::SpdyHeadersToResponseHeaders(stream_->headers(), &headers_); |
| 571 response_trailers_ = stream_->trailers(); | 574 response_trailers_ = stream_->trailers(); |
| 572 stream_error_ = stream_->stream_error(); | 575 stream_error_ = stream_->stream_error(); |
| 573 bytes_read_ = stream_->stream_bytes_read() + stream_->header_bytes_read(); | 576 bytes_read_ = stream_->stream_bytes_read() + stream_->header_bytes_read(); |
| 574 bytes_written_ = | 577 bytes_written_ = |
| 575 stream_->stream_bytes_written() + stream_->header_bytes_written(); | 578 stream_->stream_bytes_written() + stream_->header_bytes_written(); |
| 576 response_header_size_ = headers_.GetSizeForWriteBuffer(); | 579 response_header_size_ = headers_.GetSizeForWriteBuffer(); |
| 577 response_body_size_ = stream_->data().size(); | 580 response_body_size_ = stream_->data().size(); |
| 578 stream_ = nullptr; | 581 stream_ = nullptr; |
| 582 ++num_responses_; |
| 579 } | 583 } |
| 580 | 584 |
| 581 bool QuicTestClient::CheckVary(const SpdyHeaderBlock& client_request, | 585 bool QuicTestClient::CheckVary(const SpdyHeaderBlock& client_request, |
| 582 const SpdyHeaderBlock& promise_request, | 586 const SpdyHeaderBlock& promise_request, |
| 583 const SpdyHeaderBlock& promise_response) { | 587 const SpdyHeaderBlock& promise_response) { |
| 584 return true; | 588 return true; |
| 585 } | 589 } |
| 586 | 590 |
| 587 void QuicTestClient::OnRendezvousResult(QuicSpdyStream* stream) { | 591 void QuicTestClient::OnRendezvousResult(QuicSpdyStream* stream) { |
| 588 std::unique_ptr<TestClientDataToResend> data_to_resend = | 592 std::unique_ptr<TestClientDataToResend> data_to_resend = |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 670 CHECK(message); | 674 CHECK(message); |
| 671 message->headers()->SetRequestVersion( | 675 message->headers()->SetRequestVersion( |
| 672 HTTPMessage::VersionToString(HttpConstants::HTTP_1_1)); | 676 HTTPMessage::VersionToString(HttpConstants::HTTP_1_1)); |
| 673 message->headers()->SetRequestMethod( | 677 message->headers()->SetRequestMethod( |
| 674 HTTPMessage::MethodToString(HttpConstants::GET)); | 678 HTTPMessage::MethodToString(HttpConstants::GET)); |
| 675 message->headers()->SetRequestUri(uri); | 679 message->headers()->SetRequestUri(uri); |
| 676 } | 680 } |
| 677 | 681 |
| 678 } // namespace test | 682 } // namespace test |
| 679 } // namespace net | 683 } // namespace net |
| OLD | NEW |