mapHttpResponsePart
Changes response parts generated by the inner route.
Signature
def mapHttpResponsePart(f: HttpResponsePart ⇒ HttpResponsePart): Directive0
Description
The mapHttpResponsePart
directive is used as a building block for Custom Directives to transform a
response part that was generated by the inner route. In contrast to mapHttpResponse this directive allows to
transform parts of chunked responses.
See Directives transforming the response for similar directives.
Example
val prefixChunks = mapHttpResponsePart {
case MessageChunk(data, _) => MessageChunk(HttpData("prefix"+data.asString))
case x => x
}
val route =
prefixChunks { ctx =>
val resp = ctx.responder
resp ! ChunkedResponseStart(HttpResponse())
resp ! MessageChunk(HttpData("abc"))
resp ! MessageChunk(HttpData("def"))
resp ! ChunkedMessageEnd
}
Get("/") ~> route ~> check {
chunks ===
List(MessageChunk(HttpData("prefixabc")),
MessageChunk(HttpData("prefixdef")))
}