MastoAPI: Basic streaming.
[akkoma] / lib / pleroma / web / mastodon_api / mastodon_socket.ex
1 defmodule Pleroma.Web.MastodonAPI.MastodonSocket do
2 use Phoenix.Socket
3
4 transport :streaming, Phoenix.Transports.WebSocket.Raw
5
6 def connect(params, socket) do
7 IO.inspect(params)
8 Pleroma.Web.Streamer.add_socket(params["stream"], socket)
9 {:ok, socket}
10 end
11
12 def id(socket), do: nil
13
14 def handle(:text, message, state) do
15 IO.inspect message
16 #| :ok
17 #| state
18 #| {:text, message}
19 #| {:text, message, state}
20 #| {:close, "Goodbye!"}
21 {:text, message}
22 end
23
24 def handle(:closed, reason, _state) do
25 IO.inspect reason
26 end
27 end