anchor.diff:  
   make_katt_response( #katt_response{headers=Hdrs0, body=RawBody0} = Res
                     , Params
  -                  , Parsers) ->
  +                  , Options
  +                  ) ->
     Hdrs = [{K, recall(V, Params)} || {K, V} <- Hdrs0],
     RawBody = recall(RawBody0, Params),
  -  Res#katt_response{ body = maybe_parse_body(Hdrs, RawBody)
  -                   }.
  +  ParseFun = proplists:get_value(parser, Options),
  +  Res#katt_response{body = ParseFun(Hdrs, RawBody)}.
   
   maybe_parse_body(_Hdrs, null) ->
     [];
  
positive.code: -define(SCENARIO_TIMEOUT,  120000).
  -define(REQUEST_TIMEOUT,   20000).
  
  %%%_* API ==============================================================
  -spec run(string()) ->
               [{string(), pass|{fail, {atom(), any()}}}|{error, any()}].
  %% @doc Run test scenario. Argument is the full path to the scenario file.
  %% The scenario file should be a KATT Blueprint file.
  %% @end
  run(Scenario) -> run(Scenario, []).
  
  -spec run(string(), list()) ->
               [{string(), pass|{fail, {atom(), any()}}}|{error, any()}].
  %% @doc Run test scenario. First argument is the full path to the scenario file.
  %% Second argument is a key-value list of parameters, such as hostname, port.
  %% You can also pass custom variable names (atoms) and values (strings).
  %% @end
  run(Scenario, Params) ->
    spawn_link(?MODULE, run, [self(), Scenario, Params]),
    receive {done, Result}    -> Result
    after   ?SCENARIO_TIMEOUT -> {error, timeout}
    end.
  
  %%%_* Internal export --------------------------------------------------
  %% @private
  run(From, Scenario, ScenarioParams) ->
    {ok, Blueprint} = katt_blueprint_parse:file(Scenario),
    Params0 = make_params(ScenarioParams),
    Params = ordsets:from_list(Params0),
    Result = {Scenario, run_scenario(Scenario, Blueprint, Params)},
    From ! {done, Result}.
  
  %%%_* Internal =========================================================
  
negative.code: 
  make_katt_request( #katt_request{headers=Hdrs0, url=Url0, body=RawBody0} = Req
                   , Params
                   , _Options
                   ) ->
    Url1 = katt_util:from_utf8(recall(katt_util:to_utf8(Url0), Params)),
    Url = make_request_url(Url1, Params),
  