【问题标题】:Elixir phoenix set websocket response headersElixir phoenix 设置 websocket 响应头
【发布时间】:2019-01-12 16:00:36
【问题描述】:

如何将Sec-WebSocket-Protocol设置为phoenix websocket中的响应头?

我已尝试使用 Plugs 将标头字段添加到 conn 对象,但它似乎在某个地方被删除了。 我尝试的另一个选项是通过导入 Phoenix.Transport.Websocket 创建自定义 websocket,但没有成功。

【问题讨论】:

  • 这和我想做的一模一样!!!!你最终找到答案了吗?
  • 对不起@Acidic,我还没有找到答案,我的计划是深入套接字层并找出发生了什么。
  • github.com/absinthe-graphql/absinthe/issues/… 我提出了一个 github 问题,并使用他提供的链接,我设法让它工作。不确定它是否与您的问题相同,但在这种情况下已经为我解决了。
  • 谢谢@Acidic,我会检查一下并告诉你结果

标签: elixir phoenix-framework


【解决方案1】:

phoenix 正在对此提供支持,请参阅拉取请求 #3444。如果你真的需要尝试一下,可以考虑在你的 phoenix 分支上挑选补丁,或者直接使用 PR 作者分支中的 phoenix。

如果客户端传递了标头,则标头将设置为automatically。根据添加的文档:

如果 sec-websocket-protocol 标头与允许的子协议匹配,它将放入 sec-websocket-protocol 响应标头并返回给定的连接。

如果没有发送 sec-websocket-protocol 标头,它将返回给定的连接。

【讨论】:

  • 感谢@gmaile提供的信息,很快就会试用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-17
  • 2021-09-08
  • 2015-12-03
  • 2022-12-04
  • 1970-01-01
  • 1970-01-01
  • 2019-04-09
相关资源
最近更新 更多