extract
Signature
Description
The extract
directive is used as a building block for Custom Directives to extract data from the
RequestContext
and provide it to the inner route. It is a special case for extracting one value of the more
general textract directive that can be used to extract more than one value.
See Providing Values to Inner Routes for an overview of similar directives.
Example
val uriLength = extract(_.request.uri.toString.length)
val route =
uriLength { len =>
complete(s"The length of the request URI is $len")
}
// tests:
Get("/abcdef") ~> route ~> check {
responseAs[String] shouldEqual "The length of the request URI is 25"
}
val route =
extractLog { log =>
log.debug("I'm logging things in much detail..!")
complete("It's amazing!")
}
// tests:
Get("/abcdef") ~> route ~> check {
responseAs[String] shouldEqual "It's amazing!"
}
Contents