Skip to content

Commit

Permalink
Clarify that ProxyDelegate tunnel methods are for HTTP/1.x
Browse files Browse the repository at this point in the history
Bug: 926427
TBR: tbansal@chromium.org
Change-Id: Ic31bc0c40a1b21c45a3d5a47c13e07255a144234
Reviewed-on: https://chromium-review.googlesource.com/c/1457317
Commit-Queue: Wojciech Dzierżanowski <wdzierzanowski@opera.com>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#630046}
  • Loading branch information
wdzierzanowski authored and Commit Bot committed Feb 7, 2019
1 parent 27fd2f8 commit c270404
Show file tree
Hide file tree
Showing 11 changed files with 44 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ void DataReductionProxyDelegate::OnFallback(const net::ProxyServer& bad_proxy,
bypass_stats_->OnProxyFallback(bad_proxy, net_error);
}

net::Error DataReductionProxyDelegate::OnTunnelHeadersReceived(
net::Error DataReductionProxyDelegate::OnHttp1TunnelHeadersReceived(
const net::ProxyServer& proxy_server,
const net::HttpResponseHeaders& response_headers) {
return net::OK;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,10 @@ class DataReductionProxyDelegate : public net::ProxyDelegate {
const net::ProxyRetryInfoMap& proxy_retry_info,
net::ProxyInfo* result) override;
void OnFallback(const net::ProxyServer& bad_proxy, int net_error) override;
void OnBeforeTunnelRequest(const net::ProxyServer& proxy_server,
net::HttpRequestHeaders* extra_headers) override {}
net::Error OnTunnelHeadersReceived(
void OnBeforeHttp1TunnelRequest(
const net::ProxyServer& proxy_server,
net::HttpRequestHeaders* extra_headers) override {}
net::Error OnHttp1TunnelHeadersReceived(
const net::ProxyServer& proxy_server,
const net::HttpResponseHeaders& response_headers) override;

Expand Down
21 changes: 12 additions & 9 deletions net/base/proxy_delegate.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,20 @@ class NET_EXPORT ProxyDelegate {
virtual void OnFallback(const ProxyServer& bad_proxy,
int net_error) = 0;

// Called immediately before a proxy tunnel request is sent.
// Called immediately before a HTTP/1.x proxy tunnel request is sent.
// Provides the embedder an opportunity to add extra request headers.
virtual void OnBeforeTunnelRequest(const ProxyServer& proxy_server,
HttpRequestHeaders* extra_headers) = 0;
// Not called for HTTP/2 or QUIC tunnels.
virtual void OnBeforeHttp1TunnelRequest(
const ProxyServer& proxy_server,
HttpRequestHeaders* extra_headers) = 0;

// Called when the response headers for the proxy tunnel request have been
// received. Allows the delegate to override the net error code of the tunnel
// request. Returning OK causes the standard tunnel response handling to be
// performed. Implementations should make sure they can trust |proxy_server|
// before making decisions based on |response_headers|.
virtual Error OnTunnelHeadersReceived(
// Called when the response headers for the HTTP/1.x proxy tunnel request
// have been received. Allows the delegate to override the net error code of
// the tunnel request. Returning OK causes the standard tunnel response
// handling to be performed. Implementations should make sure they can trust
// |proxy_server| before making decisions based on |response_headers|.
// Not called for HTTP/2 or QUIC tunnels.
virtual Error OnHttp1TunnelHeadersReceived(
const ProxyServer& proxy_server,
const HttpResponseHeaders& response_headers) = 0;

Expand Down
6 changes: 3 additions & 3 deletions net/base/test_proxy_delegate.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ TestProxyDelegate::TestProxyDelegate() = default;

TestProxyDelegate::~TestProxyDelegate() = default;

void TestProxyDelegate::VerifyOnTunnelHeadersReceived(
void TestProxyDelegate::VerifyOnHttp1TunnelHeadersReceived(
const ProxyServer& proxy_server,
const std::string& response_header_name,
const std::string& response_header_value) const {
Expand Down Expand Up @@ -61,15 +61,15 @@ void TestProxyDelegate::OnResolveProxy(
void TestProxyDelegate::OnFallback(const ProxyServer& bad_proxy,
int net_error) {}

void TestProxyDelegate::OnBeforeTunnelRequest(
void TestProxyDelegate::OnBeforeHttp1TunnelRequest(
const ProxyServer& proxy_server,
HttpRequestHeaders* extra_headers) {
on_before_tunnel_request_called_ = true;
if (extra_headers)
extra_headers->SetHeader("Foo", proxy_server.ToURI());
}

Error TestProxyDelegate::OnTunnelHeadersReceived(
Error TestProxyDelegate::OnHttp1TunnelHeadersReceived(
const ProxyServer& proxy_server,
const HttpResponseHeaders& response_headers) {
EXPECT_EQ(on_tunnel_headers_received_headers_.get(), nullptr);
Expand Down
8 changes: 4 additions & 4 deletions net/base/test_proxy_delegate.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class TestProxyDelegate : public ProxyDelegate {
trusted_spdy_proxy_ = proxy_server;
}

void VerifyOnTunnelHeadersReceived(
void VerifyOnHttp1TunnelHeadersReceived(
const ProxyServer& proxy_server,
const std::string& response_header_name,
const std::string& response_header_value) const;
Expand All @@ -41,9 +41,9 @@ class TestProxyDelegate : public ProxyDelegate {
const ProxyRetryInfoMap& proxy_retry_info,
ProxyInfo* result) override;
void OnFallback(const ProxyServer& bad_proxy, int net_error) override;
void OnBeforeTunnelRequest(const ProxyServer& proxy_server,
HttpRequestHeaders* extra_headers) override;
Error OnTunnelHeadersReceived(
void OnBeforeHttp1TunnelRequest(const ProxyServer& proxy_server,
HttpRequestHeaders* extra_headers) override;
Error OnHttp1TunnelHeadersReceived(
const ProxyServer& proxy_server,
const HttpResponseHeaders& response_headers) override;

Expand Down
8 changes: 4 additions & 4 deletions net/http/http_proxy_client_socket.cc
Original file line number Diff line number Diff line change
Expand Up @@ -386,8 +386,8 @@ int HttpProxyClientSocket::DoSendRequest() {

if (proxy_delegate_) {
HttpRequestHeaders proxy_delegate_headers;
proxy_delegate_->OnBeforeTunnelRequest(proxy_server_,
&proxy_delegate_headers);
proxy_delegate_->OnBeforeHttp1TunnelRequest(proxy_server_,
&proxy_delegate_headers);
extra_headers.MergeFrom(proxy_delegate_headers);
}

Expand Down Expand Up @@ -440,8 +440,8 @@ int HttpProxyClientSocket::DoReadHeadersComplete(int result) {
base::Bind(&HttpResponseHeaders::NetLogCallback, response_.headers));

if (proxy_delegate_) {
int rv = proxy_delegate_->OnTunnelHeadersReceived(proxy_server_,
*response_.headers);
int rv = proxy_delegate_->OnHttp1TunnelHeadersReceived(proxy_server_,
*response_.headers);
if (rv != OK) {
DCHECK_NE(ERR_IO_PENDING, rv);
return rv;
Expand Down
2 changes: 1 addition & 1 deletion net/http/http_proxy_client_socket_pool_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ TEST_P(HttpProxyClientSocketPoolTest, ProxyDelegateExtraHeaders) {
callback_.callback(), pool_.get(), NetLogWithSource());
EXPECT_THAT(rv, IsOk());

proxy_delegate.VerifyOnTunnelHeadersReceived(
proxy_delegate.VerifyOnHttp1TunnelHeadersReceived(
proxy_server, response_header_name, response_header_value);
}

Expand Down
12 changes: 6 additions & 6 deletions net/proxy_resolution/proxy_resolution_service_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -221,10 +221,10 @@ class TestResolveProxyDelegate : public ProxyDelegate {

void OnFallback(const ProxyServer& bad_proxy, int net_error) override {}

void OnBeforeTunnelRequest(const ProxyServer& proxy_server,
HttpRequestHeaders* extra_headers) override {}
void OnBeforeHttp1TunnelRequest(const ProxyServer& proxy_server,
HttpRequestHeaders* extra_headers) override {}

Error OnTunnelHeadersReceived(
Error OnHttp1TunnelHeadersReceived(
const ProxyServer& proxy_server,
const HttpResponseHeaders& response_headers) override {
return OK;
Expand Down Expand Up @@ -253,10 +253,10 @@ class TestProxyFallbackProxyDelegate : public ProxyDelegate {
num_proxy_fallback_called_++;
}

void OnBeforeTunnelRequest(const ProxyServer& proxy_server,
HttpRequestHeaders* extra_headers) override {}
void OnBeforeHttp1TunnelRequest(const ProxyServer& proxy_server,
HttpRequestHeaders* extra_headers) override {}

Error OnTunnelHeadersReceived(
Error OnHttp1TunnelHeadersReceived(
const ProxyServer& proxy_server,
const HttpResponseHeaders& response_headers) override {
return OK;
Expand Down
6 changes: 3 additions & 3 deletions net/websockets/websocket_end_to_end_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,10 @@ class TestProxyDelegateWithProxyInfo : public ProxyDelegate {

void OnFallback(const ProxyServer& bad_proxy, int net_error) override {}

void OnBeforeTunnelRequest(const ProxyServer& proxy_server,
HttpRequestHeaders* extra_headers) override {}
void OnBeforeHttp1TunnelRequest(const ProxyServer& proxy_server,
HttpRequestHeaders* extra_headers) override {}

Error OnTunnelHeadersReceived(
Error OnHttp1TunnelHeadersReceived(
const ProxyServer& proxy_server,
const HttpResponseHeaders& response_headers) override {
return OK;
Expand Down
4 changes: 2 additions & 2 deletions services/network/network_service_proxy_delegate.cc
Original file line number Diff line number Diff line change
Expand Up @@ -165,11 +165,11 @@ void NetworkServiceProxyDelegate::OnResolveProxy(
void NetworkServiceProxyDelegate::OnFallback(const net::ProxyServer& bad_proxy,
int net_error) {}

void NetworkServiceProxyDelegate::OnBeforeTunnelRequest(
void NetworkServiceProxyDelegate::OnBeforeHttp1TunnelRequest(
const net::ProxyServer& proxy_server,
net::HttpRequestHeaders* extra_headers) {}

net::Error NetworkServiceProxyDelegate::OnTunnelHeadersReceived(
net::Error NetworkServiceProxyDelegate::OnHttp1TunnelHeadersReceived(
const net::ProxyServer& proxy_server,
const net::HttpResponseHeaders& response_headers) {
return net::OK;
Expand Down
7 changes: 4 additions & 3 deletions services/network/network_service_proxy_delegate.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkServiceProxyDelegate
const net::ProxyRetryInfoMap& proxy_retry_info,
net::ProxyInfo* result) override;
void OnFallback(const net::ProxyServer& bad_proxy, int net_error) override;
void OnBeforeTunnelRequest(const net::ProxyServer& proxy_server,
net::HttpRequestHeaders* extra_headers) override;
net::Error OnTunnelHeadersReceived(
void OnBeforeHttp1TunnelRequest(
const net::ProxyServer& proxy_server,
net::HttpRequestHeaders* extra_headers) override;
net::Error OnHttp1TunnelHeadersReceived(
const net::ProxyServer& proxy_server,
const net::HttpResponseHeaders& response_headers) override;

Expand Down

0 comments on commit c270404

Please sign in to comment.