anchor.diff:          true ->
               Response = {ok, {Status, Hdrs, self()}},
               State#client_state.requester ! {response, self(), Response},
  -            read_partial_body(State, Vsn, Hdrs, body_type(Hdrs));
  +            MonRef = erlang:monitor(process, State#client_state.requester),
  +            Res = read_partial_body(State, Vsn, Hdrs, body_type(Hdrs)),
  +            erlang:demonitor(MonRef, [flush]),
  +            Res;
           false ->
               {Status, Hdrs, undefined}
       end.
  
positive.code:         Bin ->
              State#client_state.requester ! {body_part, self(), Bin},
              receive
                  {ack, To} -> read_partial_infinite_body(State, Hdrs, Window)
              after 0 ->
                  read_partial_infinite_body(State, Hdrs, lhttpc_lib:dec(Window))
              end
  
negative.code:     State#client_state.requester ! {body_part, self(), Bin},
      receive
          {ack, To} -> read_partial_finite_body(State, Hdrs, 
                          ContentLength - iolist_size(Bin), Window);
          {'DOWN', _, process, To, _} -> exit(normal)
      after 0 ->
          read_partial_finite_body(State, Hdrs, ContentLength - iolist_size(Bin), 
              lhttpc_lib:dec(Window))
  