mapRouteResultWithPF

mapRouteResultWithPF

Description

Asynchronous variant of mapRouteResultPF.

Changes the message the inner route sends to the responder.

The mapRouteResult directive is used as a building block for Custom Directives to transform the RouteResult coming back from the inner route.

See Transforming the RouteResult for similar directives.

Example

final Route route = mapRouteResultWithPF(
  new PFBuilder<RouteResult, CompletionStage<RouteResult>>()
  .match(Rejected.class, rejected -> CompletableFuture.supplyAsync(() -> {
    final Iterable<Rejection> rejections =
      Collections.singletonList(Rejections.authorizationFailed());
    return RouteResults.rejected(rejections);
  })
).build(), () -> reject(new MyCustomRejection()));

// tests:
runRouteUnSealed(route, HttpRequest.GET("/"))
  .assertRejections(Rejections.authorizationFailed());

Contents