extractDataBytes

extractDataBytes

§シグネチャ

§説明

RequestContext`からエンティティデータバイトを Source[ByteString, Any] `として抽出します。

このディレクティブは、リクエストデータバイトを含むストリームを返します。

§

  1. val route =
  2. extractDataBytes { data
  3. val sum = data.runFold(0) { (acc, i) acc + i.utf8String.toInt }
  4. onSuccess(sum) { s
  5. complete(HttpResponse(entity = HttpEntity(s.toString)))
  6. }
  7. }
  8.  
  9. // tests:
  10. val dataBytes = Source.fromIterator(() Iterator.range(1, 10).map(x ByteString(x.toString)))
  11. Post("/abc", HttpEntity(ContentTypes.`text/plain(UTF-8)`, data = dataBytes)) ~> route ~> check {
  12. responseAs[String] shouldEqual "45"
  13. }