diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2019-09-14 22:37:49 +0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2019-09-14 22:37:49 +0800 |
commit | 9e58e95add96a075d2cb70aa477441261f481ebd (patch) | |
tree | 243fd851913972de6f0110cd254ffd5d6e3565f5 /cask/src/cask/main | |
parent | dedeed376e1e906ec2eb1574a73f08c24aba47c8 (diff) | |
download | cask-9e58e95add96a075d2cb70aa477441261f481ebd.tar.gz cask-9e58e95add96a075d2cb70aa477441261f481ebd.tar.bz2 cask-9e58e95add96a075d2cb70aa477441261f481ebd.zip |
First pass at providing a convenient API for handling websockets
Diffstat (limited to 'cask/src/cask/main')
-rw-r--r-- | cask/src/cask/main/Main.scala | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cask/src/cask/main/Main.scala b/cask/src/cask/main/Main.scala index 32e6517..a138e8a 100644 --- a/cask/src/cask/main/Main.scala +++ b/cask/src/cask/main/Main.scala @@ -1,6 +1,6 @@ package cask.main -import cask.endpoints.WebsocketResult +import cask.endpoints.{WebsocketResult, WsHandler} import cask.model._ import cask.internal.Router.EntryPoint import cask.internal.{DispatchTrie, Router, Util} @@ -73,6 +73,8 @@ abstract class BaseMain{ val (effectiveMethod, runner) = if (exchange.getRequestHeaders.getFirst("Upgrade") == "websocket") { "websocket" -> ((r: Any) => r.asInstanceOf[WebsocketResult] match{ + case l: WsHandler => + io.undertow.Handlers.websocket(l).handleRequest(exchange) case l: WebsocketResult.Listener => io.undertow.Handlers.websocket(l.value).handleRequest(exchange) case r: WebsocketResult.Response[_] => |