summaryrefslogtreecommitdiff
path: root/example/websockets3/app/src/Websockets3.scala
diff options
context:
space:
mode:
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())
+}