mapResponseHeaders

mapResponseHeaders

§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. final Route echoRequestHeaders = extract(
  3. ctx -> ctx.getRequest().getHeaders(),
  4. headers -> respondWithHeaders(headers, () -> complete("test"))
  5. );
  6.  
  7. final Route route = mapResponseHeaders(headers -> {
  8. headers.removeIf(header -> header.lowercaseName().equals("id"));
  9. return headers;
  10. }, () -> echoRequestHeaders);
  11.  
  12. // tests:
  13. testRoute(route).run(HttpRequest.GET("/").addHeaders(
  14. Arrays.asList(RawHeader.create("id", "12345"),RawHeader.create("id2", "67890"))))
  15. .assertHeaderKindNotExists("id")
  16. .assertHeaderExists("id2", "67890");