anchor.diff:                      case N1 =< Max of
                           true ->
                               httpc:stream_next(HandlerPid),
  -                            fetch_stream_data(ReqId, HandlerPid, Hs, Data1, N1, Max, OutDev);
  +                            fetch_stream_data(ReqId, HandlerPid, Hs, Data1, N1, Max, OutDev, Opts);
                           false ->
                               httpc:cancel_request(ReqId),
                               {ok, {200, Hs, N, Data1}}
  
positive.code:                 undefined -> [];
                  Auth -> [ {"Authorization", to_list(Auth)} ]
              end,
              case fetch_stream(start_stream(Host, Url, Headers, Opts), Max, OutDev) of
                  {ok, Result} ->
                      maybe_redirect(Result, Url, RedirectCount, Max, OutDev, Opts);
                  {error, _} = Error ->
  
negative.code:     end.
  
  
  fetch_stream({ok, ReqId}, Max, OutDev, Opts) ->
      Timeout = proplists:get_value(timeout, Opts, ?HTTPC_TIMEOUT),
      receive
          {http, {ReqId, stream_end, Hs}} ->
              {ok, {200, Hs, 0, <<>>}};
          {http, {ReqId, stream_start, Hs, HandlerPid}} ->
              httpc:stream_next(HandlerPid),
              fetch_stream_data(ReqId, HandlerPid, Hs, <<>>, 0, Max, OutDev, Opts);
          {http, {ReqId, {error, _} = Error}} ->
              Error;
          {http, {_ReqId, {{_V, Code, _Msg}, Hs, Data}}} ->
              {ok, {Code, Hs, 0, Data}}
      after Timeout ->
          httpc:cancel_request(ReqId),
          {error, timeout}
      end;
  fetch_stream({error, _} = Error, _Max, _OutDev, _Opts) ->
      Error.
  
  fetch_stream_data(ReqId, HandlerPid, Hs, Data, N, Max, OutDev, Opts) when N =< Max ->
      Timeout = proplists:get_value(timeout, Opts, ?HTTPC_TIMEOUT),
      receive
          {http, {ReqId, stream_end, EndHs}} ->
              {ok, {200, EndHs++Hs, N, Data}};
  