akka-http
チャンクされた応答を返す http サービスに要求を行うために使用しています。関連するコードは次のようになります。
val httpRequest: HttpRequest = //build the request
val request = Http().singleRequest(httpRequest)
request.flatMap { response =>
response.entity.dataBytes.runForeach { chunk =>
println("-----")
println(chunk.utf8String)
}
}
コマンドラインで生成される出力は次のようになります。
-----
{"data":
-----
"some text"}
-----
{"data":
-----
"this is a longer
-----
text"}
-----
{"data": "txt"}
-----
...
データの論理部分 - この場合の json は行末記号 で終わります\r\n
が、問題は、上記の例で明確にわかるように、json が常に単一の http 応答チャンクに収まるとは限らないことです。
私の質問は、受信したチャンク データを完全な json に連結して、結果のコンテナー タイプが残るようにするにはどうすればよいですSource[Out,M1]
かFlow[In,Out,M2]
? の理念を貫きたいと思いakka-stream
ます。
更新:応答は無限であり、集計はリアルタイムで行う必要があることにも言及する価値があります