Это код с https://github.com/eigengo/activator-spray-twitter/blob/master/src/main/scala/core/tweetstream.scala
Что делает оператор ~>(тильда)? Я думаю, что это должен быть оператор HttpRequest, но я не смог найти такой оператор в API спрея.
Я могу понять, что авторизация - это функция, которая возвращает (HttpRequest => HttpRequest), поэтому val rq должен быть HttpRequest, который возвращает значение после применения возвращаемой функцией авторизации.
def receive: Receive = {
case query: String =>
val body = HttpEntity(ContentType(MediaTypes.`application/x-www-form-urlencoded`), s"track=$query")
val rq = HttpRequest(HttpMethods.POST, uri = uri, entity = body) ~> authorize
sendTo(io).withResponsesReceivedBy(self)(rq)
case ChunkedResponseStart(_) =>
case MessageChunk(entity, _) => TweetUnmarshaller(entity).fold(_ => (), processor !)
case _ =>
}
Заранее спасибо!