【发布时间】:2019-07-17 06:50:32
【问题描述】:
编辑从服务器发送到客户端的 Web 套接字头响应。
我正在使用 playframework 创建一个 websocket 服务器应用程序。现在来自服务器的 websocket 响应是 由 Play 照顾。以下是响应头,
Request Header:
(UpgradeToWebSocket,),
(Host,localhost:8083),
(Connection,Upgrade),
(Upgrade,websocket),
(Sec-WebSocket-Version,13),
(Accept-Encoding,gzip, deflate, br),
(Accept-Language,en-US,en;q=0.9),
(Sec-WebSocket-Key,ZvfzpVo3EX4DFA4BRcgRIA==)
def chatSystem(): WebSocket = WebSocket.acceptOrResult[String, String] { request =>
Future.successful{
AuthenticationService.doBasicAuthentication(request.headers) match {
case Results.Ok => Right(ActorFlow.actorRef { out => ChatServiceActor.props(out) })
case _ => Left(Unauthorized)
}
}
}
我想验证 Sec-WebSocket-Protocol 是否存在于请求标头中,或者如果它不存在,则在服务器响应中添加与值相同的值。
【问题讨论】:
-
从看了一下播放源,我不认为这是应该的,我想您可以尝试克隆
WebSocket类,看看您是否可以支持看起来并不简单的更改.
标签: scala websocket playframework akka