[erlang-questions] Streaming Data using httpc

John Duffy <>
Sun Apr 19 17:30:40 CEST 2015


Hi
I'm new to Erlang so please forgive my ignorance. I'm trying to stream data from a REST API using httpc, and although I have scoured the internet and the documentation I can't find a good example of how to do this, in particular how the "sync" and "receiver" options interoperate. My unsuccessful module looks like this...
-module(streaming).
-export([data/0]). 
data() ->
    {ok, RequestId} = httpc:request(get, {"http://my_streaming_data_source.com", []}, [], [{sync, false}, {receiver, self()]),
    receive_data(RequestId).
receive_data(RequestId) ->
    receive
        {http, {RequestId, stream_start, Headers}} -> do something...; 
        {http, {RequestId, stream, Data}}               - > do something...; 
        {http, {RequestId, stream_end, Headers}}   -> do something...;
    end,
    receive_data(RequestId).
Is the above how I should be structuring my module?
Kind regards
John Duffy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150419/28d31bfd/attachment.html>


More information about the erlang-questions mailing list