summaryrefslogtreecommitdiff
path: root/cask
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-07-20 17:27:38 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-07-20 17:27:38 +0800
commitc1d070cbdaba6a8f874f3f825f1c7881389fda14 (patch)
tree7eca68215a0099b50e9db5f00d29634c19af3bef /cask
parent4eab92016a793eb58782baa7c865498d66f611f1 (diff)
downloadcask-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.scala9
-rw-r--r--cask/src/cask/Routes.scala2
-rw-r--r--cask/test/src/test/cask/HelloWorld.scala4
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)