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

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

Issue 2600183002: Clean up quic_simple_client_bin.cc to sync with quic_client_bin.cc (Closed)
Patch Set: Rebase Created 4 years 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.cc ('k') | net/tools/quic/quic_simple_client_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/quic/quic_simple_client_bin.cc
diff --git a/net/tools/quic/quic_simple_client_bin.cc b/net/tools/quic/quic_simple_client_bin.cc
index 560d607b7bf182573bed886a2a89da761c32af0b..ffa5e54d2899bc056fde71d5d65e684b330903fe 100644
--- a/net/tools/quic/quic_simple_client_bin.cc
+++ b/net/tools/quic/quic_simple_client_bin.cc
@@ -44,21 +44,17 @@
#include "base/command_line.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
-#include "base/strings/string_number_conversions.h"
-#include "base/strings/string_split.h"
-#include "base/strings/string_util.h"
-#include "net/base/ip_address.h"
-#include "net/base/ip_endpoint.h"
#include "net/base/net_errors.h"
#include "net/base/privacy_mode.h"
#include "net/cert/cert_verifier.h"
#include "net/cert/multi_log_ct_verifier.h"
-#include "net/http/http_request_info.h"
#include "net/http/transport_security_state.h"
#include "net/quic/chromium/crypto/proof_verifier_chromium.h"
#include "net/quic/core/quic_error_codes.h"
#include "net/quic/core/quic_packets.h"
#include "net/quic/core/quic_server_id.h"
+#include "net/quic/platform/api/quic_socket_address.h"
+#include "net/quic/platform/api/quic_str_cat.h"
#include "net/quic/platform/api/quic_text_utils.h"
#include "net/spdy/spdy_header_block.h"
#include "net/spdy/spdy_http_utils.h"
@@ -74,6 +70,7 @@ using net::MultiLogCTVerifier;
using net::ProofVerifier;
using net::ProofVerifierChromium;
using net::QuicTextUtils;
+using net::SpdyHeaderBlock;
using net::TransportSecurityState;
using std::cout;
using std::cerr;
@@ -223,10 +220,8 @@ int main(int argc, char* argv[]) {
base::MessageLoopForIO message_loop;
// Determine IP address to connect to from supplied hostname.
- net::IPAddress ip_addr;
+ net::QuicIpAddress ip_addr;
- // TODO(rtenneti): GURL's doesn't support default_protocol argument, thus
- // protocol is required in the URL.
GURL url(urls[0]);
string host = FLAGS_host;
if (host.empty()) {
@@ -236,7 +231,7 @@ int main(int argc, char* argv[]) {
if (port == 0) {
port = url.EffectiveIntPort();
}
- if (!ip_addr.AssignFromIPLiteral(host)) {
+ if (!ip_addr.FromString(host)) {
net::AddressList addresses;
int rv = net::SynchronousHostResolver::Resolve(host, &addresses);
if (rv != net::OK) {
@@ -244,10 +239,11 @@ int main(int argc, char* argv[]) {
<< "' : " << net::ErrorToShortString(rv);
return 1;
}
- ip_addr = addresses[0].address();
+ ip_addr =
+ net::QuicIpAddress(net::QuicIpAddressImpl(addresses[0].address()));
}
- string host_port = net::IPAddressToStringWithPort(ip_addr, FLAGS_port);
+ string host_port = net::QuicStrCat(ip_addr.ToString(), ":", port);
VLOG(1) << "Resolved " << host << " to " << host_port << endl;
// Build the client, and try to connect.
@@ -272,7 +268,7 @@ int main(int argc, char* argv[]) {
cert_verifier.get(), ct_policy_enforcer.get(),
transport_security_state.get(), ct_verifier.get()));
}
- net::QuicSimpleClient client(net::IPEndPoint(ip_addr, port), server_id,
+ net::QuicSimpleClient client(net::QuicSocketAddress(ip_addr, port), server_id,
versions, std::move(proof_verifier));
client.set_initial_max_packet_length(
FLAGS_initial_mtu != 0 ? FLAGS_initial_mtu : net::kDefaultMaxPacketSize);
@@ -302,36 +298,28 @@ int main(int argc, char* argv[]) {
}
// Construct a GET or POST request for supplied URL.
- net::HttpRequestInfo request;
- request.method = body.empty() ? "GET" : "POST";
- request.url = url;
+ SpdyHeaderBlock header_block;
+ header_block[":method"] = body.empty() ? "GET" : "POST";
+ header_block[":scheme"] = url.scheme();
+ header_block[":authority"] = url.host();
+ header_block[":path"] = url.path();
// Append any additional headers supplied on the command line.
- for (const std::string& header :
- base::SplitString(FLAGS_headers, ";", base::KEEP_WHITESPACE,
- base::SPLIT_WANT_NONEMPTY)) {
- string sp;
- base::TrimWhitespaceASCII(header, base::TRIM_ALL, &sp);
+ for (StringPiece sp : QuicTextUtils::Split(FLAGS_headers, ';')) {
+ QuicTextUtils::RemoveLeadingAndTrailingWhitespace(&sp);
if (sp.empty()) {
continue;
}
- std::vector<string> kv =
- base::SplitString(sp, ":", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
- CHECK_EQ(2u, kv.size());
- string key;
- base::TrimWhitespaceASCII(kv[0], base::TRIM_ALL, &key);
- string value;
- base::TrimWhitespaceASCII(kv[1], base::TRIM_ALL, &value);
- request.extra_headers.SetHeader(key, value);
+ std::vector<StringPiece> kv = QuicTextUtils::Split(sp, ':');
+ QuicTextUtils::RemoveLeadingAndTrailingWhitespace(&kv[0]);
+ QuicTextUtils::RemoveLeadingAndTrailingWhitespace(&kv[1]);
+ header_block[kv[0]] = kv[1];
}
// Make sure to store the response, for later output.
client.set_store_response(true);
// Send the request.
- net::SpdyHeaderBlock header_block;
- net::CreateSpdyHeadersFromHttpRequest(request, request.extra_headers,
- /*direct=*/true, &header_block);
client.SendRequestAndWaitForResponse(header_block, body, /*fin=*/true);
// Print request and response details.
@@ -356,6 +344,7 @@ int main(int argc, char* argv[]) {
} else {
cout << "body: " << response_body << endl;
}
+ cout << "trailers: " << client.latest_response_trailers() << endl;
}
size_t response_code = client.latest_response_code();
« no previous file with comments | « net/tools/quic/quic_simple_client.cc ('k') | net/tools/quic/quic_simple_client_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698