1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef NET_SERVER_WEB_SOCKET_H_
6 #define NET_SERVER_WEB_SOCKET_H_
10 #include "base/basictypes.h"
15 class HttpServerRequestInfo
;
26 static WebSocket
* CreateWebSocket(HttpConnection
* connection
,
27 const HttpServerRequestInfo
& request
,
30 static ParseResult
DecodeFrameHybi17(const std::string
& frame
,
35 static std::string
EncodeFrameHybi17(const std::string
& data
,
38 virtual void Accept(const HttpServerRequestInfo
& request
) = 0;
39 virtual ParseResult
Read(std::string
* message
) = 0;
40 virtual void Send(const std::string
& message
) = 0;
41 virtual ~WebSocket() {}
44 explicit WebSocket(HttpConnection
* connection
);
45 HttpConnection
* connection_
;
48 DISALLOW_COPY_AND_ASSIGN(WebSocket
);
53 #endif // NET_SERVER_WEB_SOCKET_H_