class HttpMuxer extends Service[Request, Response]
A service that dispatches incoming requests to registered handlers. In order to choose which handler to dispatch the request to, we take the path of the request and match it with the patterns of the pre-registered handlers. The pattern matching follows these rules:
- Patterns ending with "/" use exclusive prefix matching. Eg: the pattern "foo/bar/" matches these paths: "foo/bar/", "foo/bar/baz", etc but NOT "foo/bar" Similarly, the pattern "/" matches all paths
- Patterns not ending with "/" use exact matching. Eg: the pattern "foo/bar" ONLY matches this path: "foo/bar"
- Special case: The pattern "" matches only "/" and ""
NOTE: When multiple pattern matches exist, the longest pattern wins.
- Alphabetic
- By Inheritance
- HttpMuxer
- Service
- Closable
- Function1
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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 andThen[A](g: (Future[Response]) => A): (Request) => A
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- def apply(request: Request): Future[Response]
Extract path from Request; look for a matching pattern; if found, dispatch the Request to the registered service; otherwise create a NOT_FOUND response
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def close(deadline: Time): Future[Unit]
- def close(after: Duration): Future[Unit]
- Definition Classes
- Closable
- final def close(): Future[Unit]
- Definition Classes
- Closable
- def compose[A](g: (A) => Request): (A) => Future[Response]
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- 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 isAvailable: Boolean
Determines whether this
Service
is available (can accept requests with a reasonable likelihood of success).Determines whether this
Service
is available (can accept requests with a reasonable likelihood of success).- Definition Classes
- Service
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def map[Req1](f: (Req1) => Request): Service[Req1, Response]
- Definition Classes
- Service
- 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 patterns: Seq[String]
- def route(request: Request): Option[Route]
Find the route that a request will take, or None if there's no matching route.
- def routes: Seq[Route]
- Attributes
- protected
- def status: finagle.Status
The current availability Status of this
Service
. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Service → Function1 → 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 withHandler(route: Route): HttpMuxer
- def withHandler(pattern: String, service: Service[Request, Response]): HttpMuxer
Create a new Mux service with the specified pattern added.
Create a new Mux service with the specified pattern added. If the pattern already exists, overwrite existing value. Pattern ending with "/" indicates prefix matching; otherwise exact matching.