我有一个混合的Scala / Java Play!应用程序(版本2.5.11)。我刚刚将WebSocket处理从Java移动到Scala,但接收请求并返回响应的控制器仍然是Java。现在我不能再访问cookie了(也没有任何Http.context)
更详细:
play.api.mvc.WebSocket
,然后将其提供给Java控制器,该控制器或多或少地将其提供给客户端。play.mvc.WebSocket
。Http.context
:如果我打电话给Http.Context.current().request().cookies()
我就得到了
java.lang.RuntimeException: There is no HTTP Context available from here.
有人知道如何在Java中返回Http.Context
的控制器操作中访问play.api.mvc.WebSocket
吗?
答案 0 :(得分:0)
您是否只考虑使用可以传递给控制器方法的请求对象,而不是依赖于Java Http.Context类?
控制器方法如下所示:
def socket = WebSocket.acceptOrResult[String, String] { request =>
// headers
val headers = request.headers
// cookies
val cookies = request.cookies
// your websocket process
// ...
}