mapResponseHeaders

mapResponseHeaders

§Signature

§Description

Changes the list of response headers that was generated by the inner route.

The mapResponseHeaders directive is used as a building block for Custom Directives to transform the list of response headers that was generated by the inner route.

See Transforming the Response for similar directives.

§Example

  1. // adds all request headers to the response
  2. val echoRequestHeaders = extract(_.request.headers).flatMap(respondWithHeaders)
  3.  
  4. val removeIdHeader = mapResponseHeaders(_.filterNot(_.lowercaseName == "id"))
  5. val route =
  6. removeIdHeader {
  7. echoRequestHeaders {
  8. complete("test")
  9. }
  10. }
  11.  
  12. // tests:
  13. Get("/") ~> RawHeader("id", "12345") ~> RawHeader("id2", "67890") ~> route ~> check {
  14. header("id") shouldEqual None
  15. header("id2").get.value shouldEqual "67890"
  16. }