【发布时间】:2013-10-28 21:33:58
【问题描述】:
我在 PlayFramework 2.2 中使用 WebSockets。我想对初始请求进行一些检查,并可能返回适当的 HTTP 状态。原则上它看起来像这样,在this question 中询问:
def ws(username: String) = {
if (username == "asoliman")
Action { request =>
Forbidden("Soliman is not allowed here")
}
else
WebSocket.using[String] { request =>
val in = Iteratee.foreach[String]( s => println("got: " + s)).mapDone(_ => println("Disconnected"))
val out = Enumerator[String]("Ahmed", "Mohamed", "Ibrahim").andThen(Enumerator.enumInput(Input.EOF))
(in, out)
}
}
如上所述,这是不可能的,因为 WebSocket 的 using 和 async 需要返回 Tuple2[Iteratee, Enumerator]。
对此有推荐的方法吗? 或者,有没有办法发送Websocket's Status Codes?
【问题讨论】:
标签: scala playframework websocket playframework-2.2