summaryrefslogtreecommitdiff
path: root/cask/src/cask/endpoints
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-07-25 17:02:16 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-07-25 17:10:40 +0800
commitbafd0bb41ee9728ec908b730ebe4f9d69178fd4a (patch)
tree479dfa8fc342aea3a40811686669b996b6948c8d /cask/src/cask/endpoints
parent8a7a665f3d6cd386e57a55dcb003d25b76b14138 (diff)
downloadcask-bafd0bb41ee9728ec908b730ebe4f9d69178fd4a.tar.gz
cask-bafd0bb41ee9728ec908b730ebe4f9d69178fd4a.tar.bz2
cask-bafd0bb41ee9728ec908b730ebe4f9d69178fd4a.zip
Enforce `com.lihaoyi:acyclic` on the Cask codebase
Diffstat (limited to 'cask/src/cask/endpoints')
-rw-r--r--cask/src/cask/endpoints/Endpoint.scala18
-rw-r--r--cask/src/cask/endpoints/FormEndpoint.scala6
-rw-r--r--cask/src/cask/endpoints/JsonEndpoint.scala2
-rw-r--r--cask/src/cask/endpoints/ParamReader.scala8
-rw-r--r--cask/src/cask/endpoints/StaticEndpoints.scala2
-rw-r--r--cask/src/cask/endpoints/WebEndpoints.scala2
6 files changed, 10 insertions, 28 deletions
diff --git a/cask/src/cask/endpoints/Endpoint.scala b/cask/src/cask/endpoints/Endpoint.scala
deleted file mode 100644
index d30f537..0000000
--- a/cask/src/cask/endpoints/Endpoint.scala
+++ /dev/null
@@ -1,18 +0,0 @@
-package cask.endpoints
-
-import cask.internal.Router
-import cask.internal.Router.EntryPoint
-import cask.main.Routes
-import cask.model.{BaseResponse, ParamContext}
-import io.undertow.server.HttpServerExchange
-
-trait Endpoint[R]{
- type InputType
- val path: String
- def subpath: Boolean = false
- def wrapMethodOutput(t: R): Any
- def handle(ctx: ParamContext,
- bindings: Map[String, String],
- routes: Routes,
- entryPoint: EntryPoint[InputType, Routes, cask.model.ParamContext]): Router.Result[BaseResponse]
-} \ No newline at end of file
diff --git a/cask/src/cask/endpoints/FormEndpoint.scala b/cask/src/cask/endpoints/FormEndpoint.scala
index e4b28f4..55614b2 100644
--- a/cask/src/cask/endpoints/FormEndpoint.scala
+++ b/cask/src/cask/endpoints/FormEndpoint.scala
@@ -1,11 +1,12 @@
package cask.endpoints
+import cask.endpoints.ParamReader.NilParam
import cask.internal.Router.EntryPoint
import cask.internal.Router
import cask.main.Routes
import cask.model.{ParamContext, Response}
import io.undertow.server.HttpServerExchange
-import io.undertow.server.handlers.form.FormParserFactory
+import io.undertow.server.handlers.form.{FormData, FormParserFactory}
import collection.JavaConverters._
@@ -18,6 +19,7 @@ object FormReader{
implicitly[QueryParamReader[T]].read(ctx, label, input.map(_.value))
}
}
+
implicit def formValueReader = new FormReader[FormValue]{
def arity = 1
def read(ctx: ParamContext, label: String, input: Seq[FormValue]) = input.head
@@ -35,7 +37,7 @@ object FormReader{
def read(ctx: ParamContext, label: String, input: Seq[FormValue]) = input.map(_.asFile.get)
}
}
-class postForm(val path: String, override val subpath: Boolean = false) extends Endpoint[Response]{
+class postForm(val path: String, override val subpath: Boolean = false) extends Routes.Endpoint[Response]{
type InputType = Seq[FormValue]
def wrapMethodOutput(t: Response) = t
def parseMethodInput[T](implicit p: FormReader[T]) = p
diff --git a/cask/src/cask/endpoints/JsonEndpoint.scala b/cask/src/cask/endpoints/JsonEndpoint.scala
index 9ab2f90..68a66e6 100644
--- a/cask/src/cask/endpoints/JsonEndpoint.scala
+++ b/cask/src/cask/endpoints/JsonEndpoint.scala
@@ -25,7 +25,7 @@ object JsReader{
}
}
}
-class postJson(val path: String, override val subpath: Boolean = false) extends Endpoint[Response]{
+class postJson(val path: String, override val subpath: Boolean = false) extends Routes.Endpoint[Response]{
type InputType = ujson.Js.Value
def wrapMethodOutput(t: Response) = t
def parseMethodInput[T](implicit p: JsReader[T]) = p
diff --git a/cask/src/cask/endpoints/ParamReader.scala b/cask/src/cask/endpoints/ParamReader.scala
index f623005..f1ec0bf 100644
--- a/cask/src/cask/endpoints/ParamReader.scala
+++ b/cask/src/cask/endpoints/ParamReader.scala
@@ -1,20 +1,18 @@
package cask.endpoints
-import cask.Cookie
import cask.internal.Router
import cask.model.ParamContext
import io.undertow.server.HttpServerExchange
import io.undertow.server.handlers.form.{FormData, FormParserFactory}
-abstract class ParamReader[T]
- extends Router.ArgReader[Seq[String], T, cask.model.ParamContext]{
+abstract class ParamReader[T] extends Router.ArgReader[Unit, T, cask.model.ParamContext]{
def arity: Int
- def read(ctx: cask.model.ParamContext, label: String, v: Seq[String]): T
+ def read(ctx: cask.model.ParamContext, label: String, v: Unit): T
}
object ParamReader{
class NilParam[T](f: (ParamContext, String) => T) extends ParamReader[T]{
def arity = 0
- def read(ctx: cask.model.ParamContext, label: String, v: Seq[String]): T = f(ctx, label)
+ def read(ctx: cask.model.ParamContext, label: String, v: Unit): T = f(ctx, label)
}
implicit object HttpExchangeParam extends NilParam[HttpServerExchange]((ctx, label) => ctx.exchange)
diff --git a/cask/src/cask/endpoints/StaticEndpoints.scala b/cask/src/cask/endpoints/StaticEndpoints.scala
index 7302bbe..32d499b 100644
--- a/cask/src/cask/endpoints/StaticEndpoints.scala
+++ b/cask/src/cask/endpoints/StaticEndpoints.scala
@@ -6,7 +6,7 @@ import cask.main.Routes
import cask.model.{BaseResponse, ParamContext}
import io.undertow.server.HttpServerExchange
-class static(val path: String) extends Endpoint[String] {
+class static(val path: String) extends Routes.Endpoint[String] {
type InputType = Seq[String]
override def subpath = true
def wrapOutput(t: String) = t
diff --git a/cask/src/cask/endpoints/WebEndpoints.scala b/cask/src/cask/endpoints/WebEndpoints.scala
index e2f7b67..ed93c6c 100644
--- a/cask/src/cask/endpoints/WebEndpoints.scala
+++ b/cask/src/cask/endpoints/WebEndpoints.scala
@@ -8,7 +8,7 @@ import cask.model.{BaseResponse, ParamContext}
import collection.JavaConverters._
-trait WebEndpoint extends Endpoint[BaseResponse]{
+trait WebEndpoint extends Routes.Endpoint[BaseResponse]{
type InputType = Seq[String]
def wrapMethodOutput(t: BaseResponse) = t
def parseMethodInput[T](implicit p: QueryParamReader[T]) = p