anchor.diff:      inet:setopts(Socket, [{packet, raw}]),
       handle_invalid_request(Socket, Request, Headers);
   headers(Socket, Request, Headers, Body, HeaderCount) ->
  -    case gen_tcp:recv(Socket, 0, ?IDLE_TIMEOUT) of
  +    case gen_tcp:recv(Socket, 0, ?HEADERS_RECV_TIMEOUT) of
           {ok, http_eoh} ->
               inet:setopts(Socket, [{packet, raw}]),
               Req = mochiweb:new_request({Socket, Request,
  
positive.code:         {error, closed} ->
              gen_tcp:close(Socket),
              exit(normal);
          _Other ->
              handle_invalid_request(Socket)
      end.
  
negative.code:     request(Socket, Body).
  
  request(Socket, Body) ->
      case gen_tcp:recv(Socket, 0, ?REQUEST_RECV_TIMEOUT) of
          {ok, {http_request, Method, Path, Version}} ->
              headers(Socket, {Method, Path, Version}, [], Body, 0);
          {error, {http_error, "\r\n"}} ->
  