blob: f2757461b9930501a93cfe93a5f80d2cfd956da6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package app
case class Websockets4()(implicit val log: cask.Logger) extends cask.Routes{
@cask.decorators.compress // make sure compress decorator passes non-requests through correctly
@cask.websocket("/connect/:userName")
def showUserProfile(userName: String): cask.WebsocketResult = {
if (userName != "haoyi") cask.Response("", statusCode = 403)
else cask.WsHandler { channel =>
cask.WsActor {
case cask.Ws.Text("") => channel.send(cask.Ws.Close())
case cask.Ws.Text(data) =>
channel.send(cask.Ws.Text(userName + " " + data))
}
}
}
initialize()
}
object Websockets4Main extends cask.Main{
val allRoutes = Seq(Websockets4())
}
|