diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-07-25 16:43:58 +0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-07-25 16:43:58 +0800 |
commit | 62a140e340891c3b22fd9d457c8e48fc91e25020 (patch) | |
tree | 4648d07286e6c8151fc00bdaaaf428cb2e354b48 /cask/src/cask/main | |
parent | c4476471f4ff4b38c518b5478996bc178a129e6b (diff) | |
download | cask-62a140e340891c3b22fd9d457c8e48fc91e25020.tar.gz cask-62a140e340891c3b22fd9d457c8e48fc91e25020.tar.bz2 cask-62a140e340891c3b22fd9d457c8e48fc91e25020.zip |
Extract out `model.ParamContext`
Diffstat (limited to 'cask/src/cask/main')
-rw-r--r-- | cask/src/cask/main/Main.scala | 8 | ||||
-rw-r--r-- | cask/src/cask/main/Routes.scala | 5 |
2 files changed, 8 insertions, 5 deletions
diff --git a/cask/src/cask/main/Main.scala b/cask/src/cask/main/Main.scala index 77bac94..28c7770 100644 --- a/cask/src/cask/main/Main.scala +++ b/cask/src/cask/main/Main.scala @@ -1,6 +1,6 @@ package cask.main -import cask.model.{BaseResponse, Response, Status} +import cask.model.{BaseResponse, ParamContext, Response, Status} import cask.Cookie import cask.internal.Router.EntryPoint import cask.internal.{DispatchTrie, Router, Util} @@ -54,8 +54,10 @@ abstract class BaseMain{ case None => writeResponse(exchange, handleError(404)) case Some(((routes, metadata), bindings, remaining)) => val result = metadata.metadata.handle( - exchange, remaining, bindings, routes, - metadata.entryPoint.asInstanceOf[EntryPoint[metadata.metadata.InputType, cask.main.Routes, (HttpServerExchange, Seq[String])]] + ParamContext(exchange, remaining), bindings, routes, + metadata.entryPoint.asInstanceOf[ + EntryPoint[metadata.metadata.InputType, cask.main.Routes, cask.model.ParamContext] + ] ) result match{ diff --git a/cask/src/cask/main/Routes.scala b/cask/src/cask/main/Routes.scala index fdd39bd..d3c060b 100644 --- a/cask/src/cask/main/Routes.scala +++ b/cask/src/cask/main/Routes.scala @@ -2,6 +2,7 @@ package cask.main import cask.endpoints.Endpoint import cask.internal.Router.EntryPoint +import cask.model.ParamContext import io.undertow.server.HttpServerExchange import scala.reflect.macros.blackbox.Context @@ -9,7 +10,7 @@ import language.experimental.macros object Routes{ case class EndpointMetadata[T](metadata: Endpoint[_], - entryPoint: EntryPoint[_, T, (HttpServerExchange, Seq[String])]) + entryPoint: EntryPoint[_, T, ParamContext]) case class RoutesEndpointsMetadata[T](value: EndpointMetadata[T]*) object RoutesEndpointsMetadata{ implicit def initialize[T] = macro initializeImpl[T] @@ -27,7 +28,7 @@ object Routes{ m.asInstanceOf[MethodSymbol], weakTypeOf[T], (t: router.c.universe.Tree) => q"$annotObjectSym.wrapMethodOutput($t)", - c.weakTypeOf[(io.undertow.server.HttpServerExchange, Seq[String])], + c.weakTypeOf[ParamContext], q"$annotObjectSym.parseMethodInput", tq"$annotObjectSym.InputType" ) |