diff options
Diffstat (limited to 'example/websockets3/app/src/Websockets3.scala')
-rw-r--r-- | example/websockets3/app/src/Websockets3.scala | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/example/websockets3/app/src/Websockets3.scala b/example/websockets3/app/src/Websockets3.scala new file mode 100644 index 0000000..8368e0d --- /dev/null +++ b/example/websockets3/app/src/Websockets3.scala @@ -0,0 +1,21 @@ +package app + +case class Websockets3()(implicit val log: cask.Logger) extends cask.Routes{ + @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.WsActor.Text("") => channel.send(cask.WsActor.Close()) + case cask.WsActor.Text(data) => + channel.send(cask.WsActor.Text(userName + " " + data)) + } + } + } + + initialize() +} + +object Websockets3Main extends cask.Main{ + val allRoutes = Seq(Websockets3()) +} |