Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(225)

Unified Diff: net/tools/quic/quic_simple_client.cc

Issue 1035533006: Unify the QUIC client classes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ssize_t Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/tools/quic/quic_simple_client.h ('k') | net/tools/quic/quic_simple_client_session.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/quic/quic_simple_client.cc
diff --git a/net/tools/quic/quic_simple_client.cc b/net/tools/quic/quic_simple_client.cc
index 237d70b22051069c35ae83acd06da37a54180f3d..703f22fa17ad4b24ebb73b8e46d704b9e9ac0201 100644
--- a/net/tools/quic/quic_simple_client.cc
+++ b/net/tools/quic/quic_simple_client.cc
@@ -8,12 +8,14 @@
#include "base/run_loop.h"
#include "net/base/net_errors.h"
#include "net/http/http_request_info.h"
+#include "net/http/http_response_info.h"
#include "net/quic/crypto/quic_random.h"
#include "net/quic/quic_connection.h"
#include "net/quic/quic_connection_helper.h"
#include "net/quic/quic_default_packet_writer.h"
#include "net/quic/quic_protocol.h"
#include "net/quic/quic_server_id.h"
+#include "net/spdy/spdy_http_utils.h"
#include "net/udp/udp_client_socket.h"
using std::string;
@@ -154,7 +156,7 @@ void QuicSimpleClient::StartConnect() {
Perspective::IS_CLIENT,
server_id_.is_https(),
supported_versions_);
- session_.reset(new QuicSimpleClientSession(config_, connection_));
+ session_.reset(new QuicClientSession(config_, connection_));
session_->InitializeSession(server_id_, &crypto_config_);
session_->CryptoConnect();
}
@@ -180,12 +182,15 @@ void QuicSimpleClient::Disconnect() {
void QuicSimpleClient::SendRequest(const HttpRequestInfo& headers,
base::StringPiece body,
bool fin) {
- QuicSimpleClientStream* stream = CreateReliableClientStream();
+ QuicSpdyClientStream* stream = CreateReliableClientStream();
if (stream == nullptr) {
LOG(DFATAL) << "stream creation failed!";
return;
}
- stream->SendRequest(headers, body, fin);
+ SpdyHeaderBlock header_block;
+ CreateSpdyHeadersFromHttpRequest(headers, headers.extra_headers, SPDY3, true,
+ &header_block);
+ stream->SendRequest(header_block, body, fin);
stream->set_visitor(this);
}
@@ -209,7 +214,7 @@ void QuicSimpleClient::SendRequestsAndWaitForResponse(
while (WaitForEvents()) {}
}
-QuicSimpleClientStream* QuicSimpleClient::CreateReliableClientStream() {
+QuicSpdyClientStream* QuicSimpleClient::CreateReliableClientStream() {
if (!connected()) {
return nullptr;
}
@@ -241,17 +246,19 @@ bool QuicSimpleClient::WaitForEvents() {
}
void QuicSimpleClient::OnClose(QuicDataStream* stream) {
- QuicSimpleClientStream* client_stream =
- static_cast<QuicSimpleClientStream*>(stream);
+ QuicSpdyClientStream* client_stream =
+ static_cast<QuicSpdyClientStream*>(stream);
+ HttpResponseInfo response;
+ SpdyHeadersToHttpResponse(client_stream->headers(), SPDY3, &response);
if (response_listener_.get() != nullptr) {
response_listener_->OnCompleteResponse(
- stream->id(), *client_stream->headers(), client_stream->data());
+ stream->id(), *response.headers, client_stream->data());
}
// Store response headers and body.
if (store_response_) {
- latest_response_code_ = client_stream->headers()->response_code();
- client_stream->headers()->GetNormalizedHeaders(&latest_response_headers_);
+ latest_response_code_ = client_stream->response_code();
+ response.headers->GetNormalizedHeaders(&latest_response_headers_);
latest_response_body_ = client_stream->data();
}
}
« no previous file with comments | « net/tools/quic/quic_simple_client.h ('k') | net/tools/quic/quic_simple_client_session.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698