diff options
author | tusooa <tusooa@kazv.moe> | 2022-09-18 17:09:12 +0000 |
---|---|---|
committer | tusooa <tusooa@kazv.moe> | 2022-09-18 17:09:12 +0000 |
commit | ac95b8b4f3dda961e13745e1f07990e3ccc37bb9 (patch) | |
tree | 1ba3a0f0b57abae92120b7e05e73189a32c88234 /test/support | |
parent | 1a7107f4a5595e8723c594ca8cc58e70bcca529f (diff) | |
parent | 6d148b6637af5eb96435cd802886d71b461b760e (diff) | |
download | pleroma-ac95b8b4f3dda961e13745e1f07990e3ccc37bb9.tar.gz |
Merge branch 'websocketex' into 'develop'
Use Websockex to replace websocket_client
See merge request pleroma/pleroma!3743
Diffstat (limited to 'test/support')
-rw-r--r-- | test/support/websocket_client.ex | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/test/support/websocket_client.ex b/test/support/websocket_client.ex index d149b324e..cf2972c38 100644 --- a/test/support/websocket_client.ex +++ b/test/support/websocket_client.ex @@ -5,18 +5,17 @@ defmodule Pleroma.Integration.WebsocketClient do # https://github.com/phoenixframework/phoenix/blob/master/test/support/websocket_client.exs + use WebSockex + @doc """ Starts the WebSocket server for given ws URL. Received Socket.Message's are forwarded to the sender pid """ def start_link(sender, url, headers \\ []) do - :crypto.start() - :ssl.start() - - :websocket_client.start_link( - String.to_charlist(url), + WebSockex.start_link( + url, __MODULE__, - [sender], + %{sender: sender}, extra_headers: headers ) end @@ -36,27 +35,26 @@ defmodule Pleroma.Integration.WebsocketClient do end @doc false - def init([sender], _conn_state) do - {:ok, %{sender: sender}} - end - - @doc false - def websocket_handle(frame, _conn_state, state) do + @impl true + def handle_frame(frame, state) do send(state.sender, frame) {:ok, state} end @doc false - def websocket_info({:text, msg}, _conn_state, state) do + @impl true + def handle_info({:text, msg}, state) do {:reply, {:text, msg}, state} end - def websocket_info(:close, _conn_state, _state) do + @impl true + def handle_info(:close, _state) do {:close, <<>>, "done"} end @doc false - def websocket_terminate(_reason, _conn_state, _state) do + @impl true + def terminate(_reason, _state) do :ok end end |