| Index: net/spdy/spdy_test_util_common.cc
|
| diff --git a/net/spdy/spdy_test_util_common.cc b/net/spdy/spdy_test_util_common.cc
|
| index 37373cfdbddebca7162da463543520a973ec2944..42ec658b6d4e9119a0bfef3ade0fd2c27c96ccaa 100644
|
| --- a/net/spdy/spdy_test_util_common.cc
|
| +++ b/net/spdy/spdy_test_util_common.cc
|
| @@ -17,6 +17,8 @@
|
| #include "net/http/http_cache.h"
|
| #include "net/http/http_network_session.h"
|
| #include "net/http/http_network_transaction.h"
|
| +#include "net/http/http_request_headers.h"
|
| +#include "net/http/http_response_headers.h"
|
| #include "net/http/http_server_properties_impl.h"
|
| #include "net/socket/socket_test_util.h"
|
| #include "net/socket/ssl_client_socket.h"
|
| @@ -441,7 +443,7 @@ HttpNetworkSession::Params SpdySessionDependencies::CreateSessionParams(
|
| session_deps->stream_max_recv_window_size;
|
| params.time_func = session_deps->time_func;
|
| params.next_protos = session_deps->next_protos;
|
| - params.trusted_spdy_proxy = session_deps->trusted_spdy_proxy;
|
| + params.proxy_delegate = session_deps->proxy_delegate.get();
|
| params.parse_alternative_services = session_deps->parse_alternative_services;
|
| params.enable_alternative_service_with_different_host =
|
| session_deps->enable_alternative_service_with_different_host;
|
| @@ -1351,4 +1353,77 @@ void SpdyTestUtil::SetPriority(RequestPriority priority,
|
| priority, spdy_version()));
|
| }
|
|
|
| +TestProxyDelegate::TestProxyDelegate()
|
| + : on_before_tunnel_request_called_(false),
|
| + on_tunnel_request_completed_called_(false),
|
| + on_tunnel_headers_received_called_(false) {}
|
| +
|
| +TestProxyDelegate::~TestProxyDelegate() {}
|
| +
|
| +void TestProxyDelegate::VerifyOnTunnelRequestCompleted(
|
| + const std::string& endpoint,
|
| + const std::string& proxy_server) const {
|
| + EXPECT_TRUE(on_tunnel_request_completed_called_);
|
| + EXPECT_TRUE(HostPortPair::FromString(endpoint).Equals(
|
| + on_tunnel_request_completed_endpoint_));
|
| + EXPECT_TRUE(HostPortPair::FromString(proxy_server)
|
| + .Equals(on_tunnel_request_completed_proxy_server_));
|
| +}
|
| +
|
| +void TestProxyDelegate::VerifyOnTunnelHeadersReceived(
|
| + const std::string& origin,
|
| + const std::string& proxy_server,
|
| + const std::string& status_line) const {
|
| + EXPECT_TRUE(on_tunnel_headers_received_called_);
|
| + EXPECT_TRUE(HostPortPair::FromString(origin).Equals(
|
| + on_tunnel_headers_received_origin_));
|
| + EXPECT_TRUE(HostPortPair::FromString(proxy_server)
|
| + .Equals(on_tunnel_headers_received_proxy_server_));
|
| + EXPECT_EQ(status_line, on_tunnel_headers_received_status_line_);
|
| +}
|
| +
|
| +void TestProxyDelegate::OnResolveProxy(const GURL& url,
|
| + int load_flags,
|
| + const ProxyService& proxy_service,
|
| + ProxyInfo* result) {}
|
| +
|
| +void TestProxyDelegate::OnTunnelConnectCompleted(
|
| + const HostPortPair& endpoint,
|
| + const HostPortPair& proxy_server,
|
| + int net_error) {
|
| + on_tunnel_request_completed_called_ = true;
|
| + on_tunnel_request_completed_endpoint_ = endpoint;
|
| + on_tunnel_request_completed_proxy_server_ = proxy_server;
|
| +}
|
| +
|
| +void TestProxyDelegate::OnFallback(const ProxyServer& bad_proxy,
|
| + int net_error) {}
|
| +
|
| +void TestProxyDelegate::OnBeforeSendHeaders(URLRequest* request,
|
| + const ProxyInfo& proxy_info,
|
| + HttpRequestHeaders* headers) {}
|
| +
|
| +void TestProxyDelegate::OnBeforeTunnelRequest(
|
| + const HostPortPair& proxy_server,
|
| + HttpRequestHeaders* extra_headers) {
|
| + on_before_tunnel_request_called_ = true;
|
| + if (extra_headers)
|
| + extra_headers->SetHeader("Foo", proxy_server.ToString());
|
| +}
|
| +
|
| +void TestProxyDelegate::OnTunnelHeadersReceived(
|
| + const HostPortPair& origin,
|
| + const HostPortPair& proxy_server,
|
| + const HttpResponseHeaders& response_headers) {
|
| + on_tunnel_headers_received_called_ = true;
|
| + on_tunnel_headers_received_origin_ = origin;
|
| + on_tunnel_headers_received_proxy_server_ = proxy_server;
|
| + on_tunnel_headers_received_status_line_ = response_headers.GetStatusLine();
|
| +}
|
| +
|
| +bool TestProxyDelegate::IsTrustedSpdyProxy(
|
| + const net::ProxyServer& proxy_server) {
|
| + return proxy_server.is_valid() && trusted_spdy_proxy_ == proxy_server;
|
| +}
|
| +
|
| } // namespace net
|
|
|