Files
erlang-ws/broken/ws_h.erl
2022-04-19 17:44:53 -03:00

30 lines
693 B
Erlang

-module(ws_h).
-export([init/2]).
-export([websocket_init/1]).
-export([websocket_handle/3]).
-export([websocket_info/3]).
-export([websocket_terminate/3]).
init(Req, Opts) ->
{cowboy_websocket, Req, Opts}.
websocket_init(Req) ->
chat_room:enter(self()),
{ok, Req}.
websocket_handle({text, Msg}, Req, State) ->
chat_room:send_message(self(), Msg),
{ok, Req, State};
websocket_handle(_Data, Req, State) ->
{ok, Req, State}.
websocket_info({send_message, _ServerPid, Msg}, Req, State) ->
{reply, {text, Msg}, Req, State};
websocket_info(_Info, Req, State) ->
{ok, Req, State}.
websocket_terminate(_Reason, _Req, _State) ->
chat_room:leave(self()),
ok.