class Faraday::Adapter::Test::Stub

def matches?(request_host, request_uri, request_headers, request_body)

def matches?(request_host, request_uri, request_headers, request_body)
  request_path, request_query = request_uri.split('?')
  request_params =
    if request_query
      Faraday::Utils.parse_nested_query(request_query)
    else
      {}
    end
  # meta is a hash used as carrier
  # that will be yielded to consumer block
  meta = {}
  [(host.nil? || host == request_host) &&
    path_match?(request_path, meta) &&
    params_match?(request_params) &&
    (body.to_s.size.zero? || request_body == body) &&
    headers_match?(request_headers), meta]
end