Class/Object

wvlet.airframe.http

Router

Related Docs: object Router | package http

Permalink

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 LogSupport with Product with Serializable

Router defines mappings from HTTP requests to Routes.

Router can be nested

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
Product, Equals, LogSupport, LazyLogger, LoggingMethods, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Router
  2. Product
  3. Equals
  4. LogSupport
  5. LazyLogger
  6. LoggingMethods
  7. Serializable
  8. Serializable
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Router(surface: Option[Surface] = None, children: Seq[Router] = Seq.empty, localRoutes: Seq[Route] = Seq.empty, filterSurface: Option[Surface] = None, filterInstance: Option[HttpFilterType] = None)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. macro def add[Controller]: Router

    Permalink

    Add methods annotated with @Endpoint to the routing table

  5. def addChild(childRouter: Router): Router

    Permalink

    Add a child and and return a new Router with this child node

  6. def addInternal(controllerSurface: Surface, controllerMethodSurfaces: Seq[MethodSurface]): Router

    Permalink

    Internal only method for adding the surface of the controller

  7. macro def andThen[Controller]: Router

    Permalink
  8. def andThen(next: Router): Router

    Permalink
  9. def andThen(filter: HttpFilterType): Router

    Permalink
  10. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  11. val children: Seq[Router]

    Permalink
  12. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  13. macro def debug(message: Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    LoggingMethods
  14. macro def debug(message: Any): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    LoggingMethods
  15. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. macro def error(message: Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    LoggingMethods
  17. macro def error(message: Any): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    LoggingMethods
  18. val filterInstance: Option[HttpFilterType]

    Permalink
  19. val filterSurface: Option[Surface]

    Permalink
  20. def findRoute[Req](request: Req)(implicit arg0: HttpRequestAdapter[Req]): Option[RouteMatch]

    Permalink
  21. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  22. def hasNoOperation: Boolean

    Permalink
  23. macro def info(message: Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    LoggingMethods
  24. macro def info(message: Any): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    LoggingMethods
  25. def isEmpty: Boolean

    Permalink
  26. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  27. def isLeafFilter: Boolean

    Permalink
  28. val localRoutes: Seq[Route]

    Permalink
  29. macro def logAt(logLevel: LogLevel, message: Any): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    LoggingMethods
  30. lazy val logger: Logger

    Permalink
    Attributes
    protected[this]
    Definition Classes
    LazyLogger
  31. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  32. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  33. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  34. def routes: Seq[Route]

    Permalink
  35. val surface: Option[Surface]

    Permalink
  36. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  37. def toString(): String

    Permalink
    Definition Classes
    Router → AnyRef → Any
  38. macro def trace(message: Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    LoggingMethods
  39. macro def trace(message: Any): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    LoggingMethods
  40. def verifyRoutes: Unit

    Permalink

    Call this method to verify duplicated routes in an early phase

  41. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. macro def warn(message: Any, cause: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    LoggingMethods
  45. macro def warn(message: Any): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    LoggingMethods
  46. def withFilter(newFilterSurface: Surface): Router

    Permalink

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from Product

Inherited from Equals

Inherited from LogSupport

Inherited from LazyLogger

Inherited from LoggingMethods

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped