summaryrefslogtreecommitdiffstats
path: root/net/http/proxy_client_socket.h
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-21 04:21:12 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-21 04:21:12 +0000
commite84e6956fca7f37a25713059ee2a09ae7b65ff23 (patch)
tree1bca98b969f0c7e4ad33312edda79d2d0e3ce362 /net/http/proxy_client_socket.h
parent7fa878350b0964b0f16f1ac33ad977c3d2cef6bb (diff)
downloadchromium_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.h10
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);
};