diff options
author | kaniini <ariadne@dereferenced.org> | 2019-10-18 04:42:02 +0000 |
---|---|---|
committer | kaniini <ariadne@dereferenced.org> | 2019-10-18 04:42:02 +0000 |
commit | 7511f3d192bff285d0ca22c03cd9a46fd552cdde (patch) | |
tree | 330c46b1e9c37a3381676d3b68cdbe19982e85c1 /lib/pleroma/web/mastodon_api/websocket_handler.ex | |
parent | 6c82b6e3bf42f9897522c0f7ebd101dd01311a46 (diff) | |
parent | 733b73b71c2a13a2bfbf4c0a0d35ddfa140a1ce0 (diff) | |
download | pleroma-7511f3d192bff285d0ca22c03cd9a46fd552cdde.tar.gz |
Merge branch 'fix-streaming-with-sec-websocket-protocol' into 'develop'
Fix streaming websocket handshake with `Sec-WebSocket-Protocol`
See merge request pleroma/pleroma!1847
Diffstat (limited to 'lib/pleroma/web/mastodon_api/websocket_handler.ex')
-rw-r--r-- | lib/pleroma/web/mastodon_api/websocket_handler.ex | 7 |
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} -> |