module VCR::LibraryHooks::Faraday::BuilderInstanceExtension
def insert_vcr_middleware
def insert_vcr_middleware return if handlers.any? { |h| h.klass == VCR::Middleware::Faraday } adapter_index = handlers.index { |h| h.klass < ::Faraday::Adapter } adapter_index ||= handlers.size warn_about_after_adapter_middleware(adapter_index) insert_before(adapter_index, VCR::Middleware::Faraday) end
def lock!(*args)
def lock!(*args) insert_vcr_middleware super end
def warn_about_after_adapter_middleware(adapter_index)
def warn_about_after_adapter_middleware(adapter_index) after_adapter_middleware_count = (handlers.size - adapter_index - 1) return if after_adapter_middleware_count < 1 after_adapter_middlewares = handlers.last(after_adapter_middleware_count) warn "WARNING: The Faraday connection stack contains middleware after " + "the HTTP adapter (#{after_adapter_middlewares.map(&:inspect).join(', ')}). " + "This is a non-standard configuration and VCR may not be able to " + "record the HTTP requests made through this Faraday connection." end