class websocket_stream_wrapper : public istream, public ostream
{
public:
websocket_stream_wrapper(boost::beast::websocket::stream<boost::beast::tcp_stream>& _w);
/// The top-level class of the HTTP server.
class WebSocketServer
{
public:
WebSocketServer(WebSocketServer const&) = delete;
WebSocketServer& operator=(WebSocketServer const&) = delete;
~WebSocketServer();
/// Construct the server to listen on the specified TCP address and port, and
/// serve up files from the given directory.
explicit WebSocketServer(
std::string const& user_agent, std::string const& address, std::string const& port,
std::shared_ptr<MessageJsonHandler> json_handler, std::shared_ptr<Endpoint> localEndPoint, lsp::Log&,
uint32_t _max_workers = 2
);
/// Run the server's io_context loop.
void run();
void stop();