mapResponseEntity

mapResponseEntity

シグネチャ

説明

`` mapResponseEntity``ディレクティブは、内部ルートによって生成されたレスポンスエンティティを変換するための:ref:`Custom Directives`のビルディングブロックとして使用されます。

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

def prefixEntity(entity: ResponseEntity): ResponseEntity = entity match {
  case HttpEntity.Strict(contentType, data) =>
    HttpEntity.Strict(contentType, ByteString("test") ++ data)
  case _ => throw new IllegalStateException("Unexpected entity type")
}

val prefixWithTest: Directive0 = mapResponseEntity(prefixEntity)
val route = prefixWithTest(complete("abc"))

// tests:
Get("/") ~> route ~> check {
  responseAs[String] shouldEqual "testabc"
}

Contents