extractStrictEntity

extractStrictEntity

シグネチャ

説明

:class:`RequestContext`から厳格なHTTPエンティティを`HttpEntity.Strict``として抽出します。

タイムアウトパラメータが指定され、タイムアウト後にストリームが完了しない場合、ディレクティブは失敗します。

警告

ディレクティブは要求エンティティを制限サイズ (デフォルトでは8M) 内のメモリに読み込み、ストリーミングを効果的に無効にします。 サイズ制限は、``akka.http.parsing.max-content-length``でグローバルに設定することもできますし、-withSizeLimit-`または:ref:-withoutSizeLimit-`ディレクティブでラップすることでオーバーライドすることもできます。

import scala.concurrent.duration._
val route = extractStrictEntity(3.seconds) { entity =>
  complete(entity.data.utf8String)
}

// tests:
val dataBytes = Source.fromIterator(()  Iterator.range(1, 10).map(x  ByteString(x.toString)))
Post("/", HttpEntity(ContentTypes.`text/plain(UTF-8)`, data = dataBytes)) ~> route ~> check {
  responseAs[String] shouldEqual "123456789"
}

Contents