diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 04:21:12 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 04:21:12 +0000 |
commit | e84e6956fca7f37a25713059ee2a09ae7b65ff23 (patch) | |
tree | 1bca98b969f0c7e4ad33312edda79d2d0e3ce362 /net/http/proxy_client_socket.h | |
parent | 7fa878350b0964b0f16f1ac33ad977c3d2cef6bb (diff) | |
download | chromium_src-e84e6956fca7f37a25713059ee2a09ae7b65ff23.zip chromium_src-e84e6956fca7f37a25713059ee2a09ae7b65ff23.tar.gz chromium_src-e84e6956fca7f37a25713059ee2a09ae7b65ff23.tar.bz2 |
Allow chrome to handle 407 auth challenges to CONNECT requests
through HTTPS Proxies. This also changes the mechanism used
to restart HttpProxyClientSocket requests with auth. Previously
the transport socket would be Disconnected, and then re-Connected
(which was not implemented for SSLClientSockets). However, the
approach was problematic in the face of, for example, ipv6. The
new approach is to close the HttpProxyClientSocket, and request
a new socket from the pool.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=110529
Review URL: http://codereview.chromium.org/8502024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110879 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/proxy_client_socket.h')
-rw-r--r-- | net/http/proxy_client_socket.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/net/http/proxy_client_socket.h b/net/http/proxy_client_socket.h index 451e098..1fd4f79 100644 --- a/net/http/proxy_client_socket.h +++ b/net/http/proxy_client_socket.h @@ -10,6 +10,7 @@ namespace net { +class HttpAuthController; class HttpStream; class HttpResponseInfo; @@ -26,6 +27,15 @@ class NET_EXPORT_PRIVATE ProxyClientSocket : public StreamSocket { // which can be used to read the response body. virtual HttpStream* CreateConnectResponseStream() = 0; + // Returns the HttpAuthController which can be used + // to interact with an HTTP Proxy Authorization Required (407) request. + virtual const scoped_refptr<HttpAuthController>& auth_controller() = 0; + + // If Connect (or its callback) returns PROXY_AUTH_REQUESTED, then + // credentials should be added to the HttpAuthController before calling + // RestartWithAuth. + virtual int RestartWithAuth(OldCompletionCallback* callback) = 0; + private: DISALLOW_COPY_AND_ASSIGN(ProxyClientSocket); }; |