anchor.diff:  %%%
   %%% * Url can be given either as a "url" parameter or as host/port/ssl/path
   %%%   Default host is 127.0.0.1 in run/1 but could be passed in run/2
  -%%%   as well. Request parameters overrides the ones in the request files.
  +%%%   as well. Request parameters override the ones in the request files.
   %%%
   %%% * Tags with special meaning in response files. Try not to overuse these:
   %%%    ">>_"   Match anything (i.e. no real validation, only check existence)
  
positive.code:   ResponseFiles = get_files(Dir, "response"),
    lists:zip(RequestFiles, ResponseFiles).
  
  run_scenario(S, RequestParams, Params) ->
    run_scenario(S, RequestParams, Params, []).
  
  run_scenario([], _RequestParams, _Params, Acc)                    ->
    lists:reverse(Acc);
  run_scenario([{ReqFile, RespFile}|T], RequestParams, Params, Acc) ->
    Request        = read_request(ReqFile, RequestParams, Params),
    ExpResponse    = read_response(RespFile, Params),
    ActualResponse = make_request(Request),
    case Result = validate_response(ExpResponse, ActualResponse) of
      pass -> ok;
      _    -> print_debug(ReqFile, Request, ExpResponse, ActualResponse)
    end,
    run_scenario(T, RequestParams, Params, [{ReqFile, Result} | Acc]).
  
  print_debug(ReqFile, Request, ExpResponse, ActualResponse) ->
    ct:pal("~p:~n~p~n~n"
  
negative.code:           , raw_body = RawBody
            }.
  
  read_response(ResponseFile, SubstituteParams) ->
    Data    = parse_file(ResponseFile, SubstituteParams),
    Headers = lk("headers", Data, []),
    #response{ status_code = lk("status_code", Data)
             , headers     = Headers
             , body        = maybe_parse_body(
                               Headers, read_body(ResponseFile, SubstituteParams))
             }.
  
  %% Get body from a file if the file exists
  read_body(File, SubstituteParams)    ->
    case file:read_file(get_body_file(all_body_files(File))) of
      {ok, Data}      -> substitute(Data, SubstituteParams);
      {error, enoent} -> ""
    end.
  
  