Получите все тело HttpResponse в виде строки с помощью Akka-Streams HTTP

Я пытаюсь понять, как использовать новый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 ?

Ответы на вопрос(2)

Ваш ответ на вопрос