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
- All
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
Extract path from Request; look for a matching pattern; if found, dispatch the Request to the registered service; otherwise create a NOT_FOUND response
- Definition Classes
- HttpMuxer → Service → Function1
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
close(deadline: Time): Future[Unit]
- Definition Classes
- HttpMuxer → Service → Closable
-
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: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isAvailable: Boolean
- 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
- Definition Classes
- 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @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.