Faraday::Middleware
# File lib/vcr/middleware/faraday.rb, line 10 def call(env) VCR::HttpStubbingAdapters::Faraday.exclusively_enabled do VCR.use_cassette(*cassette_arguments(env)) do |cassette| request = request_for(env) request_matcher = request.matcher(cassette.match_requests_on) if VCR::HttpStubbingAdapters::Faraday.uri_should_be_ignored?(request.uri) @app.call(env) elsif response = VCR::HttpStubbingAdapters::Faraday.stubbed_response_for(request_matcher) headers = env[:response_headers] ||= ::Faraday::Utils::Headers.new headers.update response.headers if response.headers env.update :status => response.status.code, :body => response.body faraday_response = ::Faraday::Response.new faraday_response.finish(env) unless env[:parallel_manager] env[:response] = faraday_response elsif VCR::HttpStubbingAdapters::Faraday.http_connections_allowed? response = @app.call(env) # Checking #enabled? isn't strictly needed, but conforms # the Faraday adapter to the behavior of the other adapters if VCR::HttpStubbingAdapters::Faraday.enabled? VCR.record_http_interaction(VCR::HTTPInteraction.new(request, response_for(env))) end response else raise HttpConnectionNotAllowedError.new( "Real HTTP connections are disabled. Request: #{request.method.inspect} #{request.uri}" ) end end end end
Generated with the Darkfish Rdoc Generator 2.