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"
11 #include "base/strings/string_piece.h"
17 class HttpServerRequestInfo
;
28 static WebSocket
* CreateWebSocket(HttpServer
* server
,
29 HttpConnection
* connection
,
30 const HttpServerRequestInfo
& request
,
33 static ParseResult
DecodeFrameHybi17(const base::StringPiece
& frame
,
38 static std::string
EncodeFrameHybi17(const std::string
& data
,
41 virtual void Accept(const HttpServerRequestInfo
& request
) = 0;
42 virtual ParseResult
Read(std::string
* message
) = 0;
43 virtual void Send(const std::string
& message
) = 0;
44 virtual ~WebSocket() {}
47 WebSocket(HttpServer
* server
, HttpConnection
* connection
);
49 HttpServer
* const server_
;
50 HttpConnection
* const connection_
;
53 DISALLOW_COPY_AND_ASSIGN(WebSocket
);
58 #endif // NET_SERVER_WEB_SOCKET_H_