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

Unified Diff: net/spdy/spdy_test_util_common.cc

Issue 1547273003: Set trusted SPDY proxy dynamically on per-profile basis (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated based on design doc discussion Created 4 years, 11 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
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 6a2879480215d37315b1cfd4f48546f911d3f846..22e468c56e19cd711b64eb5f243e6116b8148a1c 100644
--- a/net/spdy/spdy_test_util_common.cc
+++ b/net/spdy/spdy_test_util_common.cc
@@ -17,6 +17,7 @@
#include "net/http/http_cache.h"
#include "net/http/http_network_session.h"
#include "net/http/http_network_transaction.h"
+#include "net/http/http_response_headers.h"
bengr 2016/01/26 23:23:26 You also need to include "http_request_headers.h"
tbansal1 2016/01/27 00:13:34 Done.
#include "net/http/http_server_properties_impl.h"
#include "net/socket/socket_test_util.h"
#include "net/socket/ssl_client_socket.h"
@@ -436,7 +437,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.use_alternative_services = session_deps->use_alternative_services;
params.net_log = session_deps->net_log;
return params;
@@ -1347,4 +1348,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) const {
+ return proxy_server.is_valid() && trusted_spdy_proxy_ == proxy_server;
+}
+
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698