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

Unified Diff: net/http/http_proxy_client_socket_pool.h

Issue 517693002: Add embedder-specific headers to HTTP CONNECT tunnel request (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added tests Created 6 years, 4 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/http/http_proxy_client_socket_pool.h
diff --git a/net/http/http_proxy_client_socket_pool.h b/net/http/http_proxy_client_socket_pool.h
index a26c05f6603c9fbd1590eeac54682e8a830dbded..96d5d1820f74b6d5d7f68945b26fa27e23ecd41d 100644
--- a/net/http/http_proxy_client_socket_pool.h
+++ b/net/http/http_proxy_client_socket_pool.h
@@ -8,6 +8,7 @@
#include <string>
#include "base/basictypes.h"
+#include "base/callback.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
@@ -51,7 +52,9 @@ class NET_EXPORT_PRIVATE HttpProxySocketParams
HttpAuthCache* http_auth_cache,
HttpAuthHandlerFactory* http_auth_handler_factory,
SpdySessionPool* spdy_session_pool,
- bool tunnel);
+ bool tunnel,
+ const base::Callback<void(const HostPortPair&, HttpRequestHeaders*)>&
+ before_proxy_tunnel_request_callback);
const scoped_refptr<TransportSocketParams>& transport_params() const {
return transport_params_;
@@ -73,6 +76,11 @@ class NET_EXPORT_PRIVATE HttpProxySocketParams
bool tunnel() const { return tunnel_; }
bool ignore_limits() const { return ignore_limits_; }
+ const base::Callback<void(const HostPortPair&, HttpRequestHeaders*)>&
+ before_proxy_tunnel_request_callback() const {
+ return before_proxy_tunnel_request_callback_;
+ }
+
private:
friend class base::RefCounted<HttpProxySocketParams>;
~HttpProxySocketParams();
@@ -87,6 +95,8 @@ class NET_EXPORT_PRIVATE HttpProxySocketParams
HttpAuthHandlerFactory* const http_auth_handler_factory_;
const bool tunnel_;
bool ignore_limits_;
+ base::Callback<void(const HostPortPair&, HttpRequestHeaders*)>
+ before_proxy_tunnel_request_callback_;
DISALLOW_COPY_AND_ASSIGN(HttpProxySocketParams);
};
@@ -186,6 +196,8 @@ class NET_EXPORT_PRIVATE HttpProxyClientSocketPool
HostResolver* host_resolver,
TransportClientSocketPool* transport_pool,
SSLClientSocketPool* ssl_pool,
+ const base::Callback<void(const HostPortPair&, HttpRequestHeaders*)>&
+ before_proxy_tunnel_request_callback,
NetLog* net_log);
virtual ~HttpProxyClientSocketPool();
@@ -251,8 +263,12 @@ class NET_EXPORT_PRIVATE HttpProxyClientSocketPool
TransportClientSocketPool* transport_pool,
SSLClientSocketPool* ssl_pool,
HostResolver* host_resolver,
+ base::Callback<void(const HostPortPair&, HttpRequestHeaders*)>
+ before_proxy_tunnel_request_callback,
NetLog* net_log);
+ virtual ~HttpProxyConnectJobFactory();
+
// ClientSocketPoolBase::ConnectJobFactory methods.
virtual scoped_ptr<ConnectJob> NewConnectJob(
const std::string& group_name,
@@ -265,6 +281,8 @@ class NET_EXPORT_PRIVATE HttpProxyClientSocketPool
TransportClientSocketPool* const transport_pool_;
SSLClientSocketPool* const ssl_pool_;
HostResolver* const host_resolver_;
+ base::Callback<void(const HostPortPair&, HttpRequestHeaders*)>
+ before_proxy_tunnel_request_callback_;
NetLog* net_log_;
base::TimeDelta timeout_;

Powered by Google App Engine
This is Rietveld 408576698