我想写一个可以使用流api的客户端。本质上,有一个getter返回HTTPResponseStream而不是HTTPResponse。我找不到一个在HTTPotion,所以我想我会给它一个尝试。但是我不知道该怎么做,我真的很感激你的帮助!
你可以像这样使用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可用于处理来自多个正在进行的请求的响应。