Index: net/spdy/spdy_proxy_client_socket.cc |
=================================================================== |
--- net/spdy/spdy_proxy_client_socket.cc (revision 68026) |
+++ net/spdy/spdy_proxy_client_socket.cc (working copy) |
@@ -59,6 +59,15 @@ |
Disconnect(); |
} |
+// In the event of a non-200 response to the CONNECT request, this |
+// method may be called to return an HttpStream in order to read |
+// the response body. |
+HttpStream* SpdyProxyClientSocket::GetConnectResponseStream() { |
+ SpdyStream* stream = spdy_stream_; |
+ spdy_stream_ = NULL; |
+ return new SpdyHttpStream(stream); |
+} |
+ |
// Sends a SYN_STREAM frame to the proxy with a CONNECT request |
// for the specified endpoint. Waits for the server to send back |
// a SYN_REPLY frame. OK will be returned if the status is 200. |
@@ -355,8 +364,10 @@ |
if (response_.headers->response_code() == 200) |
return OK; |
+ else if (response_.headers->response_code() == 407) |
+ return ERR_TUNNEL_CONNECTION_FAILED; |
else |
- return ERR_TUNNEL_CONNECTION_FAILED; |
+ return ERR_HTTPS_PROXY_TUNNEL_CONNECTION_RESPONSE; |
} |
// SpdyStream::Delegate methods: |