class Faraday::Adapter::Test
def call(env)
-
env(Faraday::Env) --
def call(env) super env.request.params_encoder ||= Faraday::Utils.default_params_encoder env[:params] = env.params_encoder.decode(env[:url].query) || {} stub, meta = stubs.match(env) unless stub raise Stubs::NotFound, "no stubbed request for #{env[:method]} " \ "#{env[:url]} #{env[:body]} #{env[:headers]}" end block_arity = stub.block.arity params = if block_arity >= 0 [env, meta].take(block_arity) else [env, meta] end timeout = request_timeout(:open, env[:request]) timeout ||= request_timeout(:read, env[:request]) status, headers, body = if timeout ::Timeout.timeout(timeout, Faraday::TimeoutError) do stub.block.call(*params) end else stub.block.call(*params) end # We need to explicitly pass `reason_phrase = nil` here to avoid keyword args conflicts. # See https://github.com/lostisland/faraday/issues/1444 # TODO: remove `nil` explicit reason_phrase once Ruby 3.0 becomes minimum req. version save_response(env, status, body, headers, nil) @app.call(env) end