Scala调度流逐行响应

时间:2013-07-12 01:30:51

标签: scala streaming scala-dispatch

我正在尝试使用Scala调度但是既是Scala neewbie又是Dispatch api符号疯狂的面孔我很困惑我如何流式传输大型http响应并逐行处理它。任何帮助将不胜感激。

干杯,克里斯。

注意:

这对我不起作用:

Http(url(Config.publisherUrl) > as.stream.Lines(line => println(line)))

永不打印线条。

编辑:

正在打印这些行,但只有当响应中有多行时才会打印。问题似乎是我可以逐行传输数据,但最后一行被省略。

1 个答案:

答案 0 :(得分:0)

我有同样的问题。你能做什么。我将其读取为输入流,然后将其转换为Akka流并返回了源。

import akka.stream.scaladsl.{Source, StreamConverters}
  val futureStream = Http(url(urlString) > as.Response(_.getResponseBodyAsStream))
        futureStream.map { inputStream =>
          val source = () => inputStream
          StreamConverters.fromInputStream(source)
        }

对我有用。