Packages

class HttpRouter extends AnyRef

Builds "external" and "admin" instances of a RoutingService which is a subclass of a com.twitter.finagle.Service. The "external" RoutingService will be served on the bound external com.twitter.finagle.ListeningServer, the "admin" RoutingService will be added as endpoints to the com.twitter.finagle.http.HttpMuxer for serving on the TwitterServer HTTP Admin Interface.

Annotations
@Singleton()
See also

http://twitter.github.io/finatra/user-guide/http/controllers.html#controllers-and-routing

http://twitter.github.io/finatra/user-guide/http/controllers.html#admin-paths

TwitterServer HTTP Admin Interface

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HttpRouter
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new HttpRouter(injector: Injector, callbackConverter: CallbackConverterImpl, messageBodyManager: MessageBodyManager, exceptionManager: ExceptionManager)
    Annotations
    @Inject()

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def add(f1Clazz: Class[_ <: HttpFilter], f2Clazz: Class[_ <: HttpFilter], f3Clazz: Class[_ <: HttpFilter], f4Clazz: Class[_ <: HttpFilter], f5Clazz: Class[_ <: HttpFilter], f6Clazz: Class[_ <: HttpFilter], f7Clazz: Class[_ <: HttpFilter], f8Clazz: Class[_ <: HttpFilter], f9Clazz: Class[_ <: HttpFilter], f10Clazz: Class[_ <: HttpFilter], controllerClazz: Class[_ <: AbstractController]): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    This is a recommended API for Java users. Scala users should prefer Manifest-variant of this method.

  5. def add[F1 <: HttpFilter, F2 <: HttpFilter, F3 <: HttpFilter, F4 <: HttpFilter, F5 <: HttpFilter, F6 <: HttpFilter, F7 <: HttpFilter, F8 <: HttpFilter, F9 <: HttpFilter, F10 <: HttpFilter, C <: Controller](implicit arg0: Manifest[F1], arg1: Manifest[F2], arg2: Manifest[F3], arg3: Manifest[F4], arg4: Manifest[F5], arg5: Manifest[F6], arg6: Manifest[F7], arg7: Manifest[F8], arg8: Manifest[F9], arg9: Manifest[F10], arg10: Manifest[C]): HttpRouter

    Add per-controller filters (Note: Per-controller filters only run if the paired controller has a matching route)

  6. def add(f1Clazz: Class[_ <: HttpFilter], f2Clazz: Class[_ <: HttpFilter], f3Clazz: Class[_ <: HttpFilter], f4Clazz: Class[_ <: HttpFilter], f5Clazz: Class[_ <: HttpFilter], f6Clazz: Class[_ <: HttpFilter], f7Clazz: Class[_ <: HttpFilter], f8Clazz: Class[_ <: HttpFilter], f9Clazz: Class[_ <: HttpFilter], controllerClazz: Class[_ <: AbstractController]): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    This is a recommended API for Java users. Scala users should prefer Manifest-variant of this method.

  7. def add[F1 <: HttpFilter, F2 <: HttpFilter, F3 <: HttpFilter, F4 <: HttpFilter, F5 <: HttpFilter, F6 <: HttpFilter, F7 <: HttpFilter, F8 <: HttpFilter, F9 <: HttpFilter, C <: Controller](implicit arg0: Manifest[F1], arg1: Manifest[F2], arg2: Manifest[F3], arg3: Manifest[F4], arg4: Manifest[F5], arg5: Manifest[F6], arg6: Manifest[F7], arg7: Manifest[F8], arg8: Manifest[F9], arg9: Manifest[C]): HttpRouter

    Add per-controller filters (Note: Per-controller filters only run if the paired controller has a matching route)

  8. def add(f1Clazz: Class[_ <: HttpFilter], f2Clazz: Class[_ <: HttpFilter], f3Clazz: Class[_ <: HttpFilter], f4Clazz: Class[_ <: HttpFilter], f5Clazz: Class[_ <: HttpFilter], f6Clazz: Class[_ <: HttpFilter], f7Clazz: Class[_ <: HttpFilter], f8Clazz: Class[_ <: HttpFilter], controllerClazz: Class[_ <: AbstractController]): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    This is a recommended API for Java users. Scala users should prefer Manifest-variant of this method.

  9. def add[F1 <: HttpFilter, F2 <: HttpFilter, F3 <: HttpFilter, F4 <: HttpFilter, F5 <: HttpFilter, F6 <: HttpFilter, F7 <: HttpFilter, F8 <: HttpFilter, C <: Controller](implicit arg0: Manifest[F1], arg1: Manifest[F2], arg2: Manifest[F3], arg3: Manifest[F4], arg4: Manifest[F5], arg5: Manifest[F6], arg6: Manifest[F7], arg7: Manifest[F8], arg8: Manifest[C]): HttpRouter

    Add per-controller filters (Note: Per-controller filters only run if the paired controller has a matching route)

  10. def add(f1Clazz: Class[_ <: HttpFilter], f2Clazz: Class[_ <: HttpFilter], f3Clazz: Class[_ <: HttpFilter], f4Clazz: Class[_ <: HttpFilter], f5Clazz: Class[_ <: HttpFilter], f6Clazz: Class[_ <: HttpFilter], f7Clazz: Class[_ <: HttpFilter], controllerClazz: Class[_ <: AbstractController]): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    This is a recommended API for Java users. Scala users should prefer Manifest-variant of this method.

  11. def add[F1 <: HttpFilter, F2 <: HttpFilter, F3 <: HttpFilter, F4 <: HttpFilter, F5 <: HttpFilter, F6 <: HttpFilter, F7 <: HttpFilter, C <: Controller](implicit arg0: Manifest[F1], arg1: Manifest[F2], arg2: Manifest[F3], arg3: Manifest[F4], arg4: Manifest[F5], arg5: Manifest[F6], arg6: Manifest[F7], arg7: Manifest[C]): HttpRouter

    Add per-controller filters (Note: Per-controller filters only run if the paired controller has a matching route)

  12. def add(f1Clazz: Class[_ <: HttpFilter], f2Clazz: Class[_ <: HttpFilter], f3Clazz: Class[_ <: HttpFilter], f4Clazz: Class[_ <: HttpFilter], f5Clazz: Class[_ <: HttpFilter], f6Clazz: Class[_ <: HttpFilter], controllerClazz: Class[_ <: AbstractController]): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    This is a recommended API for Java users. Scala users should prefer Manifest-variant of this method.

  13. def add[F1 <: HttpFilter, F2 <: HttpFilter, F3 <: HttpFilter, F4 <: HttpFilter, F5 <: HttpFilter, F6 <: HttpFilter, C <: Controller](implicit arg0: Manifest[F1], arg1: Manifest[F2], arg2: Manifest[F3], arg3: Manifest[F4], arg4: Manifest[F5], arg5: Manifest[F6], arg6: Manifest[C]): HttpRouter

    Add per-controller filters (Note: Per-controller filters only run if the paired controller has a matching route)

  14. def add(f1Clazz: Class[_ <: HttpFilter], f2Clazz: Class[_ <: HttpFilter], f3Clazz: Class[_ <: HttpFilter], f4Clazz: Class[_ <: HttpFilter], f5Clazz: Class[_ <: HttpFilter], controllerClazz: Class[_ <: AbstractController]): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    This is a recommended API for Java users. Scala users should prefer Manifest-variant of this method.

  15. def add[F1 <: HttpFilter, F2 <: HttpFilter, F3 <: HttpFilter, F4 <: HttpFilter, F5 <: HttpFilter, C <: Controller](implicit arg0: Manifest[F1], arg1: Manifest[F2], arg2: Manifest[F3], arg3: Manifest[F4], arg4: Manifest[F5], arg5: Manifest[C]): HttpRouter

    Add per-controller filters (Note: Per-controller filters only run if the paired controller has a matching route)

  16. def add(f1Clazz: Class[_ <: HttpFilter], f2Clazz: Class[_ <: HttpFilter], f3Clazz: Class[_ <: HttpFilter], f4Clazz: Class[_ <: HttpFilter], controllerClazz: Class[_ <: AbstractController]): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    This is a recommended API for Java users. Scala users should prefer Manifest-variant of this method.

  17. def add[F1 <: HttpFilter, F2 <: HttpFilter, F3 <: HttpFilter, F4 <: HttpFilter, C <: Controller](implicit arg0: Manifest[F1], arg1: Manifest[F2], arg2: Manifest[F3], arg3: Manifest[F4], arg4: Manifest[C]): HttpRouter

    Add per-controller filters (Note: Per-controller filters only run if the paired controller has a matching route)

  18. def add(f1Clazz: Class[_ <: HttpFilter], f2Clazz: Class[_ <: HttpFilter], f3Clazz: Class[_ <: HttpFilter], controllerClazz: Class[_ <: AbstractController]): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    This is a recommended API for Java users. Scala users should prefer Manifest-variant of this method.

  19. def add[F1 <: HttpFilter, F2 <: HttpFilter, F3 <: HttpFilter, C <: Controller](implicit arg0: Manifest[F1], arg1: Manifest[F2], arg2: Manifest[F3], arg3: Manifest[C]): HttpRouter

    Add per-controller filters (Note: Per-controller filters only run if the paired controller has a matching route)

  20. def add(f1Clazz: Class[_ <: HttpFilter], f2Clazz: Class[_ <: HttpFilter], controllerClazz: Class[_ <: AbstractController]): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    This is a recommended API for Java users. Scala users should prefer Manifest-variant of this method.

  21. def add[F1 <: HttpFilter, F2 <: HttpFilter, C <: Controller](implicit arg0: Manifest[F1], arg1: Manifest[F2], arg2: Manifest[C]): HttpRouter

    Add per-controller filters (Note: Per-controller filters only run if the paired controller has a matching route)

  22. def add(f1Clazz: Class[_ <: HttpFilter], controllerClazz: Class[_ <: AbstractController]): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route).

    This is a recommended API for Java users. Scala users should prefer Manifest-variant of this method.

  23. def add[F1 <: HttpFilter, C <: Controller](implicit arg0: Manifest[F1], arg1: Manifest[C]): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route)

  24. def add(filter: HttpFilter, controller: Controller): HttpRouter

    Add per-controller filter (Note: Per-controller filters only run if the paired controller has a matching route)

  25. def add(controller: AbstractController): HttpRouter
  26. def add(controller: Controller): HttpRouter
  27. def add(clazz: Class[_ <: AbstractController]): HttpRouter
  28. def add[C <: Controller](implicit arg0: Manifest[C]): HttpRouter
  29. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  30. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  31. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  33. def exceptionMapper(mappers: ExceptionMapperCollection): HttpRouter
  34. def exceptionMapper[T <: Throwable](clazz: Class[_ <: AbstractExceptionMapper[T]]): HttpRouter
  35. def exceptionMapper[T <: Throwable](mapper: ExceptionMapper[T])(implicit arg0: Manifest[T]): HttpRouter
  36. def exceptionMapper[T <: ExceptionMapper[_]](implicit arg0: Manifest[T]): HttpRouter
  37. def externalService: Service[Request, Response]

    The resultant external (e.g., non-admin routes only) Finagle Service[-Request, +Response] created from all added controllers and filters.

    The resultant external (e.g., non-admin routes only) Finagle Service[-Request, +Response] created from all added controllers and filters.

    returns

    a configured Service[-Request, +Response]

    Note

    it is important to only call this method once all router configuration has been applied, otherwise the returned Service[-Request, +Response] instance will be incomplete and any subsequent configuration will not be applied due to memoization.

  38. def filter(filter: HttpFilter, beforeRouting: Boolean): HttpRouter

    Add global filter used for all requests, optionally BEFORE route matching

  39. def filter(filter: HttpFilter): HttpRouter

    Add global filter used for all requests, by default applied AFTER route matching

  40. def filter[FilterType <: HttpFilter](beforeRouting: Boolean)(implicit arg0: Manifest[FilterType]): HttpRouter

    Add global filter used for all requests, optionally BEFORE route matching

  41. def filter[FilterType <: HttpFilter](implicit arg0: Manifest[FilterType]): HttpRouter

    Add global filter used for all requests, by default applied AFTER route matching

  42. def filter(typeLiteral: TypeLiteral[_ <: HttpFilter], annotation: Annotation, beforeRouting: Boolean): HttpRouter

    Add global filter used for all requests, optionally BEFORE route matching

  43. def filter(typeLiteral: TypeLiteral[_ <: HttpFilter], beforeRouting: Boolean): HttpRouter

    Add global filter used for all requests, optionally BEFORE route matching

  44. def filter(typeLiteral: TypeLiteral[_ <: HttpFilter], annotation: Annotation): HttpRouter

    Add global filter used for all requests, by default applied AFTER route matching

  45. def filter(typeLiteral: TypeLiteral[_ <: HttpFilter]): HttpRouter

    Add global filter used for all requests, by default applied AFTER route matching

  46. def filter(clazz: Class[_ <: HttpFilter], beforeRouting: Boolean): HttpRouter

    Add global filter used for all requests, optionally BEFORE route matching

  47. def filter(clazz: Class[_ <: HttpFilter]): HttpRouter

    Add global filter used for all requests, by default applied AFTER route matching

  48. def filter[FilterType <: HttpFilter, Ann <: Annotation](implicit arg0: Manifest[FilterType], arg1: Manifest[Ann]): HttpRouter

    Add global filter used for all requests annotated with Annotation Type

  49. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  50. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  51. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  52. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  53. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  54. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  55. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  56. def register[MBR <: MessageBodyComponent, ObjTypeToReadWrite](implicit arg0: Manifest[MBR], arg1: Manifest[ObjTypeToReadWrite]): HttpRouter
  57. def register[MBR <: MessageBodyComponent](implicit arg0: Manifest[MBR]): HttpRouter
  58. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  59. def toString(): String
    Definition Classes
    AnyRef → Any
  60. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  61. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  62. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  63. def withMaxRequestForwardingDepth(depth: Int): HttpRouter

    Allows maximum forwarding depth for a given com.twitter.finagle.http.Request to be changed

    Allows maximum forwarding depth for a given com.twitter.finagle.http.Request to be changed

    depth

    the max number of times a given request can be forwarded

    Note

    This maximum forwarding depth is only enforced by finatra services

Inherited from AnyRef

Inherited from Any

Ungrouped