anchor.diff:      mochiweb:new_response({THIS, Code, ResponseHeaders}).
   
   
  +%% @spec start_response_length({integer(), ioheaders(), integer()}) -> response()
  +%% @doc Start the HTTP response by sending the Code HTTP response and
  +%%      ResponseHeaders including a Content-Length of Length. The server
  +%%      will set header defaults such as Server
  +%%      and Date if not present in ResponseHeaders.
  +start_response_length({Code, ResponseHeaders, Length}) ->
  +    HResponse = mochiweb_headers:make(ResponseHeaders),
  +    HResponse1 = mochiweb_headers:enter("Content-Length", Length, HResponse),
  +    start_response({Code, HResponse1}).
  +
   %% @spec respond({integer(), ioheaders(), iodata() | chunked | {file, IoDevice}}) -> response()
   %% @doc Start the HTTP response with start_response, and send Body to the
   %%      client (if the get(method) /= 'HEAD'). The Content-Length header
   %%      will be set by the Body length, and the server will insert header
   %%      defaults.
   respond({Code, ResponseHeaders, {file, IoDevice}}) ->
  -    {ok, Body} = read_iodevice(IoDevice),
  -    respond({Code, ResponseHeaders, Body});
  +    Length = iodevice_size(IoDevice),
  +    Response = start_response_length({Code, ResponseHeaders, Length}),
  +    case Method of
  +        'HEAD' ->
  +            ok;
  +        _ ->
  +            iodevice_stream(IoDevice)
  +    end,
  +    Response;
   respond({Code, ResponseHeaders, chunked}) ->
       HResponse = mochiweb_headers:make(ResponseHeaders),
       HResponse1 = case Method of
  
positive.code: -include_lib("kernel/include/file.hrl").
  
  -define(QUIP, "Any of you quaids got a smint?").
  
  -export([get_header_value/1, get_primary_header_value/1, get/1, dump/0]).
  -export([send/1, recv/1, recv/2, recv_body/0, recv_body/1]).
  -export([start_response/1, start_raw_response/1, respond/1, ok/1]).
  -export([not_found/0]).
  -export([parse_post/0, parse_qs/0]).
  -export([should_close/0, cleanup/0]).
  
negative.code: 		 end,
      start_response({Code, HResponse1});
  respond({Code, ResponseHeaders, Body}) ->
      Response = start_response_length({Code, ResponseHeaders, iolist_size(Body)}),
      case Method of
  	'HEAD' ->
  	    ok;
  