extractDataBytes

extractDataBytes

シグネチャ

説明

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

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

例

val route =
  extractDataBytes { data ⇒
    val sum = data.runFold(0) { (acc, i) ⇒ acc + i.utf8String.toInt }
    onSuccess(sum) { s ⇒
      complete(HttpResponse(entity = HttpEntity(s.toString)))
    }
  }

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

Contents