| Index: net/tools/quic/quic_client.h
|
| diff --git a/net/tools/quic/quic_client.h b/net/tools/quic/quic_client.h
|
| index ba824d22e4a98d6c61eb9c86dab424158cccd64b..38becd8fce404724661231367c45ceb9c28bab7b 100644
|
| --- a/net/tools/quic/quic_client.h
|
| +++ b/net/tools/quic/quic_client.h
|
| @@ -13,11 +13,13 @@
|
| #include "base/basictypes.h"
|
| #include "base/command_line.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/strings/string_piece.h"
|
| #include "net/base/ip_endpoint.h"
|
| #include "net/quic/crypto/crypto_handshake.h"
|
| #include "net/quic/quic_config.h"
|
| #include "net/quic/quic_framer.h"
|
| #include "net/quic/quic_packet_creator.h"
|
| +#include "net/tools/balsa/balsa_headers.h"
|
| #include "net/tools/epoll_server/epoll_server.h"
|
| #include "net/tools/quic/quic_client_session.h"
|
| #include "net/tools/quic/quic_spdy_client_stream.h"
|
| @@ -52,12 +54,10 @@ class QuicClient : public EpollCallbackInterface,
|
| QuicClient(IPEndPoint server_address,
|
| const QuicServerId& server_id,
|
| const QuicVersionVector& supported_versions,
|
| - bool print_response,
|
| EpollServer* epoll_server);
|
| QuicClient(IPEndPoint server_address,
|
| const QuicServerId& server_id,
|
| const QuicVersionVector& supported_versions,
|
| - bool print_response,
|
| const QuicConfig& config,
|
| EpollServer* epoll_server);
|
|
|
| @@ -85,6 +85,16 @@ class QuicClient : public EpollCallbackInterface,
|
| // Disconnects from the QUIC server.
|
| void Disconnect();
|
|
|
| + // Sends an HTTP request and does not wait for response before returning.
|
| + void SendRequest(const BalsaHeaders& headers,
|
| + base::StringPiece body,
|
| + bool fin);
|
| +
|
| + // Sends an HTTP request and waits for response before returning.
|
| + void SendRequestAndWaitForResponse(const BalsaHeaders& headers,
|
| + base::StringPiece body,
|
| + bool fin);
|
| +
|
| // Sends a request simple GET for each URL in |args|, and then waits for
|
| // each to complete.
|
| void SendRequestsAndWaitForResponse(const
|
| @@ -173,6 +183,12 @@ class QuicClient : public EpollCallbackInterface,
|
|
|
| QuicConfig* config() { return &config_; }
|
|
|
| + void set_store_response(bool val) { store_response_ = val; }
|
| +
|
| + size_t latest_response_code() const;
|
| + const std::string& latest_response_headers() const;
|
| + const std::string& latest_response_body() const;
|
| +
|
| protected:
|
| virtual QuicConnectionId GenerateConnectionId();
|
| virtual QuicEpollConnectionHelper* CreateQuicConnectionHelper();
|
| @@ -264,9 +280,14 @@ class QuicClient : public EpollCallbackInterface,
|
| // initial version to use.
|
| QuicVersionVector supported_versions_;
|
|
|
| - // If true, then the contents of each response will be printed to stdout
|
| - // when the stream is closed (in OnClose).
|
| - bool print_response_;
|
| + // If true, store the latest response code, headers, and body.
|
| + bool store_response_;
|
| + // HTTP response code from most recent response.
|
| + size_t latest_response_code_;
|
| + // HTTP headers from most recent response.
|
| + std::string latest_response_headers_;
|
| + // Body of most recent response.
|
| + std::string latest_response_body_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(QuicClient);
|
| };
|
|
|