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
- Alphabetic
- By Inheritance
- HttpRouter
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new HttpRouter(injector: Injector, callbackConverter: CallbackConverterImpl, messageBodyManager: MessageBodyManager, exceptionManager: ExceptionManager)
- Annotations
- @Inject()
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
- 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.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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)
- def add(controller: AbstractController): HttpRouter
- def add(controller: Controller): HttpRouter
- def add(clazz: Class[_ <: AbstractController]): HttpRouter
- def add[C <: Controller](implicit arg0: Manifest[C]): HttpRouter
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def exceptionMapper(mappers: ExceptionMapperCollection): HttpRouter
- def exceptionMapper[T <: Throwable](clazz: Class[_ <: AbstractExceptionMapper[T]]): HttpRouter
- def exceptionMapper[T <: Throwable](mapper: ExceptionMapper[T])(implicit arg0: Manifest[T]): HttpRouter
- def exceptionMapper[T <: ExceptionMapper[_]](implicit arg0: Manifest[T]): HttpRouter
- 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.
- def filter(filter: HttpFilter, beforeRouting: Boolean): HttpRouter
Add global filter used for all requests, optionally BEFORE route matching
- def filter(filter: HttpFilter): HttpRouter
Add global filter used for all requests, by default applied AFTER route matching
- def filter[FilterType <: HttpFilter](beforeRouting: Boolean)(implicit arg0: Manifest[FilterType]): HttpRouter
Add global filter used for all requests, optionally BEFORE route matching
- def filter[FilterType <: HttpFilter](implicit arg0: Manifest[FilterType]): HttpRouter
Add global filter used for all requests, by default applied AFTER route matching
- def filter(typeLiteral: TypeLiteral[_ <: HttpFilter], annotation: Annotation, beforeRouting: Boolean): HttpRouter
Add global filter used for all requests, optionally BEFORE route matching
- def filter(typeLiteral: TypeLiteral[_ <: HttpFilter], beforeRouting: Boolean): HttpRouter
Add global filter used for all requests, optionally BEFORE route matching
- def filter(typeLiteral: TypeLiteral[_ <: HttpFilter], annotation: Annotation): HttpRouter
Add global filter used for all requests, by default applied AFTER route matching
- def filter(typeLiteral: TypeLiteral[_ <: HttpFilter]): HttpRouter
Add global filter used for all requests, by default applied AFTER route matching
- def filter(clazz: Class[_ <: HttpFilter], beforeRouting: Boolean): HttpRouter
Add global filter used for all requests, optionally BEFORE route matching
- def filter(clazz: Class[_ <: HttpFilter]): HttpRouter
Add global filter used for all requests, by default applied AFTER route matching
- 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
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def register[MBR <: MessageBodyComponent, ObjTypeToReadWrite](implicit arg0: Manifest[MBR], arg1: Manifest[ObjTypeToReadWrite]): HttpRouter
- def register[MBR <: MessageBodyComponent](implicit arg0: Manifest[MBR]): HttpRouter
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()
- 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