package router
- Alphabetic
- Public
- Protected
Type Members
- trait ControllerProvider extends AnyRef
- case class ControllerRoute(rpcInterfaceCls: Class[_], controllerSurface: Surface, method: String, path: String, methodSurface: ReflectMethodSurface, isRPC: Boolean) extends Route with LogSupport with Product with Serializable
Define mappings from an HTTP request to a controller method which has the Endpoint annotation
- class HttpEndpointExecutionContext[Req, Resp, F[_]] extends HttpContext[Req, Resp, F] with LogSupport
Create the terminal request handler for processing a method with @EndPoint annotation.
Create the terminal request handler for processing a method with @EndPoint annotation.
This handler will call a controller method with the request parameters build from the method arguments.
- case class RPCCallContext(rpcInterfaceCls: Class[_], rpcMethodSurface: MethodSurface, rpcArgs: Seq[Any]) extends Product with Serializable
- trait ResponseHandler[Req, Res] extends AnyRef
- trait Route extends AnyRef
A mapping from an HTTP endpoint to a corresponding method (or function)
- case class RouteMatch(route: Route, params: Map[String, String]) extends Product with Serializable
- trait RouteMatcher extends AnyRef
Find a matching route (RouteMatch) from a given HttpRequest
- trait RouterBase extends AnyRef
Value Members
- object Automaton
- object ControllerProvider
- object HttpRequestDispatcher extends LogSupport
Create a filter for dispatching HTTP requests to controller methods with @Endpoint or @RPC annotation
- object HttpRequestMapper extends LogSupport
Mapping HTTP requests to RPC/Endpoint method call arguments.
Mapping HTTP requests to RPC/Endpoint method call arguments.
http request (path parameters, query parameters, request body (json or msgpack data)) -> rpc function call arguments (p1:t1, p2:t2, ...)
- object RouteMatcher extends LogSupport
- object RouterMacros
Macros for creating a trait factory (Session => A) so that we can register the factory upon defining Route.of[A].
Macros for creating a trait factory (Session => A) so that we can register the factory upon defining Route.of[A].
So once you register a route for A, you don't need to call bind[A].toSingleton, etc.