diff options
Diffstat (limited to 'example/websockets4/app/src/Websockets4.scala')
-rw-r--r-- | example/websockets4/app/src/Websockets4.scala | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/example/websockets4/app/src/Websockets4.scala b/example/websockets4/app/src/Websockets4.scala new file mode 100644 index 0000000..f275746 --- /dev/null +++ b/example/websockets4/app/src/Websockets4.scala @@ -0,0 +1,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()) +} |