extract

extract

シグネチャ

説明

``extract``ディレクティブは:ref: Custom Directives`のビルディングブロックとして使用され、 ``RequestContext``からデータを抽出し、それを内部ルートに提供します。 複数の値を抽出するために使用できるより一般的な:ref:-textract-`ディレクティブの1つの値を抽出する特殊な場合です。

類似のディレクティブの概要は:ref:`ProvideDirectives`を参照してください。

val uriLength = extract(_.request.uri.toString.length)
val route =
  uriLength { len =>
    complete(s"The length of the request URI is $len")
  }

// tests:
Get("/abcdef") ~> route ~> check {
  responseAs[String] shouldEqual "The length of the request URI is 25"
}
val route =
  extractLog { log =>
    log.debug("I'm logging things in much detail..!")
    complete("It's amazing!")
  }

// tests:
Get("/abcdef") ~> route ~> check {
  responseAs[String] shouldEqual "It's amazing!"
}

Contents