akka.http
新しいライブラリの使い方を理解しようとしています。http 要求をサーバーに送信し、応答本文全体を単一の文字列として読み取り、Source[String,?]
.
これまでに作成できた最良のソリューションは次のとおりです。
def get(
modelID: String,
pool: Flow[(HttpRequest,Int),(Try[HttpResponse],Int),Http.HostConnectionPool]
): Source[String,Unit] = {
val uri = reactionsURL(modelID)
val req = HttpRequest(uri = uri)
Source.single( (req,0) )
.via( pool )
.map {
case (Success(resp),_) =>
resp.entity.dataBytes.map( _.decodeString("utf-8") )
}.flatten(FlattenStrategy.concat)
.grouped( 1024 )
.map( _.mkString )
(エラー パスの欠落を除いて) うまく機能しているように見えますが、このような単純なタスクには少し扱いにくいです。よりスマートなソリューションはありますか? grouped
/を避けることはできますmkString
か?