summaryrefslogtreecommitdiff
path: root/cask/src/cask/endpoints
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-08-13 21:11:11 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-08-13 22:13:48 +0800
commite74ade7ac9bfff9239c0243c0fdf01b18d4a0ec3 (patch)
tree9589f3840df5203b60be89efa878d3c2ee678af0 /cask/src/cask/endpoints
parentb1d516e2b7df2d881c4dc84840e1cdc475b845b5 (diff)
downloadcask-e74ade7ac9bfff9239c0243c0fdf01b18d4a0ec3.tar.gz
cask-e74ade7ac9bfff9239c0243c0fdf01b18d4a0ec3.tar.bz2
cask-e74ade7ac9bfff9239c0243c0fdf01b18d4a0ec3.zip
0.1.00.1.0
Diffstat (limited to 'cask/src/cask/endpoints')
-rw-r--r--cask/src/cask/endpoints/StaticEndpoints.scala19
-rw-r--r--cask/src/cask/endpoints/WebSocketEndpoint.scala2
2 files changed, 18 insertions, 3 deletions
diff --git a/cask/src/cask/endpoints/StaticEndpoints.scala b/cask/src/cask/endpoints/StaticEndpoints.scala
index 726af21..1d66b2c 100644
--- a/cask/src/cask/endpoints/StaticEndpoints.scala
+++ b/cask/src/cask/endpoints/StaticEndpoints.scala
@@ -3,14 +3,29 @@ package cask.endpoints
import cask.main.Endpoint
import cask.model.ParamContext
-class static(val path: String) extends Endpoint{
+class staticFiles(val path: String) extends Endpoint{
type Output = String
val methods = Seq("get")
type Input = Seq[String]
type InputParser[T] = QueryParamReader[T]
override def subpath = true
def wrapFunction(ctx: ParamContext, delegate: Delegate): Returned = {
- delegate(Map()).map(t => cask.model.Static(t + "/" + ctx.remaining.mkString("/")))
+ delegate(Map()).map(t => cask.model.StaticFile(t + "/" + ctx.remaining.mkString("/")))
+ }
+
+ def wrapPathSegment(s: String): Input = Seq(s)
+}
+
+class staticResources(val path: String, resourceRoot: ClassLoader = getClass.getClassLoader) extends Endpoint{
+ type Output = String
+ val methods = Seq("get")
+ type Input = Seq[String]
+ type InputParser[T] = QueryParamReader[T]
+ override def subpath = true
+ def wrapFunction(ctx: ParamContext, delegate: Delegate): Returned = {
+ delegate(Map()).map(t =>
+ cask.model.StaticResource(t + "/" + ctx.remaining.mkString("/"), resourceRoot)
+ )
}
def wrapPathSegment(s: String): Input = Seq(s)
diff --git a/cask/src/cask/endpoints/WebSocketEndpoint.scala b/cask/src/cask/endpoints/WebSocketEndpoint.scala
index a795afd..89c05b9 100644
--- a/cask/src/cask/endpoints/WebSocketEndpoint.scala
+++ b/cask/src/cask/endpoints/WebSocketEndpoint.scala
@@ -38,7 +38,7 @@ object WebsocketResult{
implicit class Listener(val value: WebSocketConnectionCallback) extends WebsocketResult
}
-class websocket(val path: String, subpath: Boolean = false) extends cask.main.BaseEndpoint{
+class websocket(val path: String, override val subpath: Boolean = false) extends cask.main.BaseEndpoint{
type Output = WebsocketResult
val methods = Seq("websocket")
type Input = Seq[String]