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) 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
- RouterBase
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
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(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- 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[_ <: AnyRef]
- 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 productElementNames: Iterator[String]
- Definition Classes
- Product
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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