Chromium Code Reviews| Index: net/spdy/spdy_proxy_client_socket.cc |
| =================================================================== |
| --- net/spdy/spdy_proxy_client_socket.cc (revision 110309) |
| +++ net/spdy/spdy_proxy_client_socket.cc (working copy) |
| @@ -63,6 +63,19 @@ |
| return response_.headers ? &response_ : NULL; |
| } |
| +int SpdyProxyClientSocket::RestartWithAuth(OldCompletionCallback* callback) { |
| + // A SPDY Stream can only handle a single request, so the underlying |
| + // stream may not be reused and a new SpdyProxyClientSocket must be |
| + // created (possibly on top of the same SPDY Session). |
| + next_state_ = STATE_DISCONNECTED; |
| + return OK; |
| +} |
| + |
| +const |
| +scoped_refptr<HttpAuthController>& SpdyProxyClientSocket::auth_controller() { |
| + return auth_; |
| +} |
| + |
| HttpStream* SpdyProxyClientSocket::CreateConnectResponseStream() { |
| DCHECK(response_stream_.get()); |
| return response_stream_.release(); |
| @@ -384,6 +397,16 @@ |
| if (response_.headers->response_code() == 200) { |
| return OK; |
| } else if (response_.headers->response_code() == 407) { |
| + int rv = HandleAuthChallenge(auth_, &response_, net_log_); |
| + if (rv != ERR_PROXY_AUTH_REQUESTED) { |
| + return rv; |
| + } |
| + // SPDY only supports basic and digest auth |
|
cbentzel
2011/11/16 18:57:38
It looks like we don't expose the HttpAuthHandler
|
| + if (auth_->auth_info() && |
| + (auth_->auth_info()->scheme == "basic" || |
| + auth_->auth_info()->scheme == "digest")) { |
| + return ERR_PROXY_AUTH_REQUESTED; |
| + } |
| return ERR_TUNNEL_CONNECTION_FAILED; |
| } else { |
| // Immediately hand off our SpdyStream to a newly created SpdyHttpStream |