case class Router(surface: Option[Surface] = None, children: Seq[Router] = Seq.empty, localRoutes: Seq[Route] = Seq.empty, filterSurface: Option[Surface] = None, filterInstance: Option[HttpFilterType] = None, controllerInstance: Option[Any] = None) extends RouterBase with LogSupport with Product with Serializable
Router defines mappings from HTTP requests to Routes.
Router can be nested
- Router1 with Filter1
- Router2: endpoints e1, e2
- Router3: endpoints e3 with Filter2
- Router4: endpoints e4
From this router definition, the backend HTTP server specific implementation will build a mapping table like this: e1 -> Filter1 andThen process(e1) e2 -> Filter1 andThen process(e2) e3 -> Filter1 andThen Filter2 andThen process(e3) e4 -> process(e4)
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- Router
- Product
- Equals
- LogSupport
- LazyLogger
- LoggingMethods
- Serializable
- Serializable
- RouterBase
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new Router(surface: Option[Surface] = None, children: Seq[Router] = Seq.empty, localRoutes: Seq[Route] = Seq.empty, filterSurface: Option[Surface] = None, filterInstance: Option[HttpFilterType] = None, controllerInstance: Option[Any] = None)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
macro
def
add[Controller]: Router
Add methods annotated with @Endpoint to the routing table
Add methods annotated with @Endpoint to the routing table
- Definition Classes
- RouterBase
-
def
addChild(childRouter: Router): Router
Add a child and and return a new Router with this child node
-
def
addInternal(controllerSurface: Surface, controllerMethodSurfaces: Seq[MethodSurface]): Router
Internal only method for adding the surface of the controller
- def andThen(next: Router): Router
- def andThen(filter: HttpFilterType): Router
-
macro
def
andThen[Controller]: Router
- Definition Classes
- RouterBase
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- val children: Seq[Router]
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
- val controllerInstance: Option[Any]
-
macro
def
debug(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
macro
def
debug(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
macro
def
error(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
macro
def
error(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- val filterInstance: Option[HttpFilterType]
- val filterSurface: Option[Surface]
- def findRoute[Req](request: Req)(implicit arg0: HttpRequestAdapter[Req]): Option[RouteMatch]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hasNoOperation: Boolean
-
macro
def
info(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
macro
def
info(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- def isEmpty: Boolean
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isLeafFilter: Boolean
- val localRoutes: Seq[Route]
-
macro
def
logAt(logLevel: LogLevel, message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
lazy val
logger: Logger
- Attributes
- protected[this]
- Definition Classes
- LazyLogger
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def routes: Seq[Route]
- val surface: Option[Surface]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Router → AnyRef → Any
-
macro
def
trace(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
macro
def
trace(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
def
verifyRoutes: Unit
Call this method to verify duplicated routes in an early phase
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
macro
def
warn(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
macro
def
warn(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- def withFilter(newFilterSurface: Surface): Router
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated