Signature
def respondWithHeader(responseHeader: HttpHeader): Directive0
Description
Adds a given HTTP header to all responses coming back from its inner route.
This directive transforms HttpResponseHttpResponse and ChunkedResponseStart
messages coming back from its inner route by adding the given HttpHeaderHttpHeader instance to the headers list.
See also respondWithHeaders if you’d like to add more than one header.
Example
- Scala
-
val route =
path("foo") {
respondWithHeader(RawHeader("Funky-Muppet", "gonzo")) {
complete("beep")
}
}
// tests:
Get("/foo") ~> route ~> check {
header("Funky-Muppet") shouldEqual Some(RawHeader("Funky-Muppet", "gonzo"))
responseAs[String] shouldEqual "beep"
}
- Java
-
final Route route = path("foo", () ->
respondWithHeader(RawHeader.create("Funky-Muppet", "gonzo"), () ->
complete("beep")));
testRoute(route).run(HttpRequest.GET("/foo"))
.assertHeaderExists("Funky-Muppet", "gonzo")
.assertEntity("beep");