std::vector<std::string> requested_extensions,
std::string* failure_message);
- virtual ~WebSocketBasicHandshakeStream();
+ ~WebSocketBasicHandshakeStream() override;
// HttpStreamBase methods
- virtual int InitializeStream(const HttpRequestInfo* request_info,
- RequestPriority priority,
- const BoundNetLog& net_log,
- const CompletionCallback& callback) OVERRIDE;
- virtual int SendRequest(const HttpRequestHeaders& request_headers,
- HttpResponseInfo* response,
- const CompletionCallback& callback) OVERRIDE;
- virtual int ReadResponseHeaders(const CompletionCallback& callback) OVERRIDE;
- virtual int ReadResponseBody(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) OVERRIDE;
- virtual void Close(bool not_reusable) OVERRIDE;
- virtual bool IsResponseBodyComplete() const OVERRIDE;
- virtual bool CanFindEndOfResponse() const OVERRIDE;
- virtual bool IsConnectionReused() const OVERRIDE;
- virtual void SetConnectionReused() OVERRIDE;
- virtual bool IsConnectionReusable() const OVERRIDE;
- virtual int64 GetTotalReceivedBytes() const OVERRIDE;
- virtual bool GetLoadTimingInfo(LoadTimingInfo* load_timing_info) const
- OVERRIDE;
- virtual void GetSSLInfo(SSLInfo* ssl_info) OVERRIDE;
- virtual void GetSSLCertRequestInfo(
- SSLCertRequestInfo* cert_request_info) OVERRIDE;
- virtual bool IsSpdyHttpStream() const OVERRIDE;
- virtual void Drain(HttpNetworkSession* session) OVERRIDE;
- virtual void SetPriority(RequestPriority priority) OVERRIDE;
+ int InitializeStream(const HttpRequestInfo* request_info,
+ RequestPriority priority,
+ const BoundNetLog& net_log,
+ const CompletionCallback& callback) override;
+ int SendRequest(const HttpRequestHeaders& request_headers,
+ HttpResponseInfo* response,
+ const CompletionCallback& callback) override;
+ int ReadResponseHeaders(const CompletionCallback& callback) override;
+ int ReadResponseBody(IOBuffer* buf,
+ int buf_len,
+ const CompletionCallback& callback) override;
+ void Close(bool not_reusable) override;
+ bool IsResponseBodyComplete() const override;
+ bool CanFindEndOfResponse() const override;
+ bool IsConnectionReused() const override;
+ void SetConnectionReused() override;
+ bool IsConnectionReusable() const override;
+ int64 GetTotalReceivedBytes() const override;
+ bool GetLoadTimingInfo(LoadTimingInfo* load_timing_info) const override;
+ void GetSSLInfo(SSLInfo* ssl_info) override;
+ void GetSSLCertRequestInfo(SSLCertRequestInfo* cert_request_info) override;
+ bool IsSpdyHttpStream() const override;
+ void Drain(HttpNetworkSession* session) override;
+ void SetPriority(RequestPriority priority) override;
+ UploadProgress GetUploadProgress() const override;
+ HttpStream* RenewStreamForAuth() override;
+
// This is called from the top level once correct handshake response headers
// have been received. It creates an appropriate subclass of WebSocketStream
// depending on what extensions were negotiated. This object is unusable after
// Upgrade() has been called and should be disposed of as soon as possible.
- virtual scoped_ptr<WebSocketStream> Upgrade() OVERRIDE;
+ scoped_ptr<WebSocketStream> Upgrade() override;
// Set the value used for the next Sec-WebSocket-Key header
// deterministically. The key is only used once, and then discarded.
void OnFinishOpeningHandshake();
// Validates the response and sends the finished handshake event.
- int ValidateResponse(int rv);
+ int ValidateResponse(int rv, bool* is_redirect);
// Check that the headers are well-formed for a 101 response, and returns
// OK if they are, otherwise returns ERR_INVALID_RESPONSE.