Elixir:HTTPResponseStream使用流API

时间:2014-05-30 15:32:25

标签: http stream elixir twitter-streaming-api

我想编写一个可以使用流API的客户端。本质上,有一个getter返回HTTPResponseStream而不是HTTPResponse。我无法在HTTPotion中找到一个,所以我想我试一试。但是我不知道如何去做,并且真的很感激一些帮助!

1 个答案:

答案 0 :(得分:3)

您可以使用HTTPotion执行异步请求,如下所示:

%HTTPotion.AsyncResponse{ id: id } = HTTPotion.get "http://example.com", [], [stream_to: self]

这会将三种不同类型的消息发送到当前流程(上面通过self定义):

# First, the response headers
%HTTPotion.AsyncHeaders{ id: ^id, status_code: 200, headers: _headers }
# Then, one or more chunks
%HTTPotion.AsyncChunk{ id: ^id, chunk: _chunk }
# And finally, an end message
%HTTPotion.AsyncEnd{ id: ^id }

id可用于处理来自多个正在进行的请求的响应。