summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkaniini <ariadne@dereferenced.org>2019-10-18 04:42:02 +0000
committerkaniini <ariadne@dereferenced.org>2019-10-18 04:42:02 +0000
commit7511f3d192bff285d0ca22c03cd9a46fd552cdde (patch)
tree330c46b1e9c37a3381676d3b68cdbe19982e85c1
parent6c82b6e3bf42f9897522c0f7ebd101dd01311a46 (diff)
parent733b73b71c2a13a2bfbf4c0a0d35ddfa140a1ce0 (diff)
downloadpleroma-7511f3d192bff285d0ca22c03cd9a46fd552cdde.tar.gz
pleroma-7511f3d192bff285d0ca22c03cd9a46fd552cdde.zip
Merge branch 'fix-streaming-with-sec-websocket-protocol' into 'develop'
Fix streaming websocket handshake with `Sec-WebSocket-Protocol` See merge request pleroma/pleroma!1847
-rw-r--r--lib/pleroma/web/mastodon_api/websocket_handler.ex7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/pleroma/web/mastodon_api/websocket_handler.ex b/lib/pleroma/web/mastodon_api/websocket_handler.ex
index 3c26eb406..a400d1c8d 100644
--- a/lib/pleroma/web/mastodon_api/websocket_handler.ex
+++ b/lib/pleroma/web/mastodon_api/websocket_handler.ex
@@ -35,6 +35,13 @@ defmodule Pleroma.Web.MastodonAPI.WebsocketHandler do
{_, stream} <- List.keyfind(params, "stream", 0),
{:ok, user} <- allow_request(stream, [access_token, sec_websocket]),
topic when is_binary(topic) <- expand_topic(stream, params) do
+ req =
+ if sec_websocket do
+ :cowboy_req.set_resp_header("sec-websocket-protocol", sec_websocket, req)
+ else
+ req
+ end
+
{:cowboy_websocket, req, %{user: user, topic: topic}, %{idle_timeout: @timeout}}
else
{:error, code} ->