diff options
Diffstat (limited to 'cask/src/cask/endpoints/StaticEndpoints.scala')
-rw-r--r-- | cask/src/cask/endpoints/StaticEndpoints.scala | 19 |
1 files changed, 17 insertions, 2 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) |