anchor.diff:              
           {http, {Id, stream_end, _Headers}} ->
               Pid ! {Ref, eof}
  +    
  +    after ?HTTP_STREAM_TIMEOUT ->
  +            ?LOG(warning, "Timeout receiving stream", []),
  +            Pid ! {Ref, error, timeout}
       end.
   
  
positive.code:         {http, {Id, stream_start, Headers}} ->
              ?LOG(info, "Serving stream: ~s", [Url]),
              % snag the content-length and content-type headers:
              Headers1 = [ { "content-type", 
                             proplists:get_value("content-type", Headers, 
                                                 "binary/unknown-not-specified")} ],
              Headers2 = case proplists:get_value("content-length", Headers) of
                  undefined -> Headers1;
                  Len -> [ {"content-length", Len} | Headers1 ]
              end,
              Pid ! {Ref, headers, Headers2},
              start_streaming(Id, Pid, Ref);
              
          {http, {Id, error, Reason}} ->
              ?LOG(warning, "HTTP req failed for ~s",[Url]),
  
negative.code: -include_lib("kernel/include/file.hrl").
  
  -define(HTTP_HEADERS_TIMEOUT, 5000).
  -define(HTTP_STREAM_TIMEOUT, 10000).
  
  -export([start_link/3, reader_protocols/0]).
  
  