anchor.diff:        ],
   
         % `Headers' don't contain `content_length'
  -      {StatusCode, Headers, Body} = handle_request(
  +      {StatusCode, Headers, Body} = step_validate_request(
           ModData#mod.method,
           ModData#mod.parsed_header,
           ModData#mod.entity_body,
  
positive.code: 
  %% @doc Execute RPC request.
  %%
  %% @spec execute_request(xmerlrpc_xml:proc_name(), [xmerlrpc_xml:proc_arg()],
  %%                       list(), term()) ->
  %%   http_response()
  
  execute_request(ProcName, ProcArgs, Environment, DispatchTable) ->
    case dispatch(ProcName, ProcArgs, Environment, DispatchTable) of
      {ok, Result} ->
        encode_result(Result);
      {exception, Exception} ->
        % exception is not something to log
        encode_exception(Exception);
      {error, _Reason} ->
        % this kind of errors should already be handled
        http_error(internal, "Dispatch error")
  
negative.code: 
  %% @doc Call specified function with arguments and environment.
  %%
  %% @spec step_call_function(atom(), atom(), [xmerlrpc_xml:proc_arg()],
  %%                          list()) ->
  %%     {ok, xmerlrpc_xml:proc_arg()}
  %%   | {exception, Exception :: iolist()}
  
  step_call_function(Module, Function, Args, Environment) ->
    % {ok,_} | {error,_} are for case when error is signaled by returned value
    % _ | erlang:error() are for case when error is signaled by dying
    try Module:Function(Args, Environment) of
  