anchor.diff:              gen_tcp:close(Socket),
               exit(normal)
       end.
  +
  +after_response(Body, Req) ->
  +    Socket = Req:get(socket),
  +    case Req:should_close() of
  +        true ->
  +            gen_tcp:close(Socket),
  +            exit(normal);
  +        false ->
  +            Req:cleanup(),
  +            ?MODULE:loop(Socket, Body)
  +    end.
  
positive.code: -author('bob@mochimedia.com').
  -export([start/0, start/1, stop/0, stop/1]).
  -export([loop/2, default_body/1]).
  
  -define(IDLE_TIMEOUT, 30000).
  
  
negative.code:             Req = mochiweb:new_request({Socket, Request,
                                          lists:reverse(Headers)}),
              Body(Req),
              ?MODULE:after_response(Body, Req);
          {ok, {http_header, _, Name, _, Value}} ->
              headers(Socket, Request, [{Name, Value} | Headers], Body,
                      1 + HeaderCount);
  