0
akka-httpをこのように使用すると、乱用されたり、何とか危険ですか?akka httpチャンクレスレスポンスを使用したJSONオブジェクトのストリーミング
Source.single(HttpRequest("http://localhost:9000/stream"))
.mapAsync(1) { r =>
Http().singleRequest(r).map { res =>
res.entity.dataBytes.map(_.parse[Event])
}
}
.flatMapConcat(identity).mapAsync(processEvent)
UPDその後
def source(consumerOffset: UUID) = readJournal.eventsByTag(“MyTag", consumerOffset).map(_.asJson) pathPrefix("stream"/Segment.map(UUID.fromString)) { offset => pathEndOrSingleSlash { get { complete { HttpResponse( StatusCodes.OK, entity = HttpEntity(ContentTypes.`application/json`, source(offset)) ) } } } }
サーバー上でクライアント側の
:
- はそれが私が送信チャンクは、クライアント側で同じであることが保証されます。
- 無限のチャンクで応答するのはいいですか?
- この種類の応答に適したContent-Typeは何ですか?
UPD 2:
アッカ2.4.9は、ストリームで応答する機能が追加されました。基本的にはまったく同じことですが、シンタックスシュガーを提供しています。 docsを参照してください。順序であなたの質問に答える
あなたはどちらについて心配ですか?一見したところ、ボイラプラッターのようです... –
1.私が送るチャンクはクライアント側で同じになることが保証されていますか? –
2.無限のチャンクで応答するのはいいですか? –