diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-07-20 17:27:38 +0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-07-20 17:27:38 +0800 |
commit | c1d070cbdaba6a8f874f3f825f1c7881389fda14 (patch) | |
tree | 7eca68215a0099b50e9db5f00d29634c19af3bef /cask | |
parent | 4eab92016a793eb58782baa7c865498d66f611f1 (diff) | |
download | cask-c1d070cbdaba6a8f874f3f825f1c7881389fda14.tar.gz cask-c1d070cbdaba6a8f874f3f825f1c7881389fda14.tar.bz2 cask-c1d070cbdaba6a8f874f3f825f1c7881389fda14.zip |
Provide `MainRoutes` helper for one-file websites
Diffstat (limited to 'cask')
-rw-r--r-- | cask/src/cask/Main.scala | 9 | ||||
-rw-r--r-- | cask/src/cask/Routes.scala | 2 | ||||
-rw-r--r-- | cask/test/src/test/cask/HelloWorld.scala | 4 |
3 files changed, 10 insertions, 5 deletions
diff --git a/cask/src/cask/Main.scala b/cask/src/cask/Main.scala index 2614436..0305e6f 100644 --- a/cask/src/cask/Main.scala +++ b/cask/src/cask/Main.scala @@ -8,7 +8,14 @@ import io.undertow.server.handlers.BlockingHandler import io.undertow.server.{HttpHandler, HttpServerExchange} import io.undertow.util.{Headers, HttpString} -class Main(servers: Routes*){ +class MainRoutes extends BaseMain with Routes{ + def servers = Seq(this) +} +class Main(servers0: Routes*) extends BaseMain{ + def servers = servers0.toSeq +} +abstract class BaseMain{ + def servers: Seq[Routes] val port: Int = 8080 val host: String = "localhost" def main(args: Array[String]): Unit = { diff --git a/cask/src/cask/Routes.scala b/cask/src/cask/Routes.scala index 156fdbf..f2d8907 100644 --- a/cask/src/cask/Routes.scala +++ b/cask/src/cask/Routes.scala @@ -83,7 +83,7 @@ object Routes{ } } -class Routes{ +trait Routes{ private[this] var metadata0: Routes.Metadata[this.type] = null def caskMetadata = if (metadata0 != null) metadata0 diff --git a/cask/test/src/test/cask/HelloWorld.scala b/cask/test/src/test/cask/HelloWorld.scala index 69a4370..a4b441c 100644 --- a/cask/test/src/test/cask/HelloWorld.scala +++ b/cask/test/src/test/cask/HelloWorld.scala @@ -1,6 +1,6 @@ package test.cask -object HelloRoutes extends cask.Routes{ +object HelloWorld extends cask.MainRoutes{ @cask.get("/") def hello() = { "Hello World!" @@ -8,5 +8,3 @@ object HelloRoutes extends cask.Routes{ initialize() } - -object HelloWorld extends cask.Main(HelloRoutes) |