? 私は接続を確立しており、200のステータスコードを受け取っていますが、私はつぶやきを読む方法を知らない。彼らが来るときに私はちょうどprintlnつぶやきをしたいです。PlayframeworkやTwitterのストリーミングAPI
ws.url(url)
.sign(OAuthCalculator(consumerKey, requestToken))
.withMethod("POST")
.stream()
.map { response =>
if(response.headers.status == 200)
println(response.body)
}
編集:私はあなたにFuture[StreamedResponse]
をバック与えstream()
を呼び出す
ws.url(url)
.sign(OAuthCalculator(consumerKey, requestToken))
.withMethod("POST")
.stream()
.map { response =>
if(response.headers.status == 200){
response.body
.scan("")((acc, curr) => if (acc.contains("\r\n")) curr.utf8String else acc + curr.utf8String)
.filter(_.contains("\r\n"))
.map(json => Try(parse(json).extract[Tweet]))
.runForeach {
case Success(tweet) =>
println("-----")
println(tweet.text)
case Failure(e) =>
println("-----")
println(e.getStackTrace)
}
}
}
説明 – mkovacek
ためのおかげでそれが可能に後で近い接続ですか?私は別の言葉を追跡するための複数の要求を持っていることを計画しています。 – mkovacek
Akkaドキュメントの[Dynamic Stream Handling](http://doc.akka.io/docs/akka/2.4.8/scala/stream/stream-dynamic.html)をご覧ください。一つのアイデア:共有されたkillスイッチを作成し、それを 'source.via(killSwitch.flow)'でストリームに追加する。 killswitchで 'shutdown()'を実行すると、接続が切断されます。 – Mikesname