anchor.diff:                          {ok, _BytesSent} ->
                               ok;
                           {error, closed} ->
  -                            Mod:handle_event(client_closed, [before_response], Args)
  +                            handle_event(Mod, client_closed, [before_response], Args)
                       end;
                   {error, closed} ->
  -                    Mod:handle_event(client_closed, [before_response], Args)
  +                    handle_event(Mod, client_closed, [before_response], Args)
               after
                   file:close(Fd)
               end;
           {error, FileError} ->
  -            Mod:handle_event(file_error, [FileError], Args)
  +            handle_event(Mod, file_error, [FileError], Args)
       end, ok.
   
   send_bad_request(Socket) ->
  
positive.code: check_max_size(Socket, ContentLength, Buffer, Opts, {Mod, Args}) ->
      case ContentLength > max_body_size(Opts) of
          true ->
              Mod:handle_event(bad_request, [{body_size, ContentLength}], Args),
  
              %% To send a response, we must first receive anything the
              %% client is sending. To avoid allowing clients to use all
  
negative.code:                     get_headers(Socket, <<Buffer/binary, Data/binary>>,
                                  Headers, HeadersCount, Opts, Callback);
                  {error, closed} ->
                      handle_event(Mod, client_closed, [receiving_headers], Args),
                      gen_tcp:close(Socket),
                      exit(normal);
                  {error, timeout} ->
                      handle_event(Mod, client_timeout, [receiving_headers], Args),
                      gen_tcp:close(Socket),
                      exit(normal)
              end
  