anchor.diff:  
   -define(replace(L, K, V), lists:keystore(K, 1, L, {K, V})).
   -define(MAX_WAIT, 5 * 60 * 1000).
  +-define(STREAM_STATUS, ibrowse_stream_status).
   
   
   setup(#httpdb{httpc_pool = nil, url = Url, http_connections = MaxConns} = Db) ->
  
positive.code:         ibrowse:stream_next(ReqId),
          {Data, fun() -> stream_data_self(HttpDb, Params, Worker, ReqId, Cb) end};
      {Data, ibrowse_async_response_end} ->
          {Data, fun() -> throw({maybe_retry_req, more_data_expected}) end}
      end.
  
  
negative.code:             StreamDataFun = fun() ->
                  stream_data_self(HttpDb, Params, Worker, ReqId, Callback)
              end,
              put(STREAM_STATUS, streaming),
              ibrowse:stream_next(ReqId),
              try
                  Ret = Callback(Ok, Headers, StreamDataFun),
  