1 defmodule Pleroma.Web.MastodonAPI.MastodonSocket do
4 transport :streaming, Phoenix.Transports.WebSocket.Raw,
5 timeout: :infinity # We never receive data.
7 def connect(params, socket) do
8 if params["stream"] == "public" do
10 |> assign(:topic, params["stream"])
11 Pleroma.Web.Streamer.add_socket(params["stream"], socket)
18 def id(socket), do: nil
20 def handle(:text, message, state) do
25 #| {:text, message, state}
26 #| {:close, "Goodbye!"}
30 def handle(:closed, reason, %{socket: socket}) do
31 topic = socket.assigns[:topic]
32 Pleroma.Web.Streamer.remove_socket(topic, socket)