mapRouteResultWith

mapRouteResultWith

シグネチャ

説明

内部ルートがレスポンダに送信するメッセージを変更します。

`` mapRouteResult``ディレクティブは Custom Directives のビルディングブロックとして使用され、内部ルートから戻る:ref:RouteResult`を変換します。 :ref: `-mapRouteResult-`ディレクティブに似ていますが、結果の代わりに` Future``を返します。これは、実行時間の長い変換に便利です。

同様のディレクティブは:ref:`Result Transformation Directives`を参照してください。

case object MyCustomRejection extends Rejection
val rejectRejections = // not particularly useful directive
  mapRouteResultWith {
    case Rejected(_) => Future(Rejected(List(AuthorizationFailedRejection)))
    case res         => Future(res)
  }
val route =
  rejectRejections {
    reject(MyCustomRejection)
  }

// tests:
Get("/") ~> route ~> check {
  rejection shouldEqual AuthorizationFailedRejection
}

Contents