summaryrefslogtreecommitdiff
path: root/example/websockets3/app/src/Websockets3.scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2019-09-16 12:21:10 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2019-09-16 12:21:33 +0800
commitb83eec01c8db8a8aa499d6c498ff85987005fe83 (patch)
tree6ec439541ac8636f9a138253f413e26b35c2c194 /example/websockets3/app/src/Websockets3.scala
parent84ea971b1261919aca7b31635ddc7d0dca830fea (diff)
downloadcask-0.2.8.tar.gz
cask-0.2.8.tar.bz2
cask-0.2.8.zip
0.2.80.2.8
Diffstat (limited to 'example/websockets3/app/src/Websockets3.scala')
-rw-r--r--example/websockets3/app/src/Websockets3.scala21
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())
+}