class Faraday::Adapter::HTTPX
def call(env)
def call(env) super if parallel?(env) handler = env[:parallel_manager].enqueue(env) handler.on_response do |response| save_response(env, response.status, response.body.to_s, response.headers, response.reason) do |response_headers| response_headers.merge!(response.headers) end end return handler end meth, uri, request_options = build_request(env) session = @session.with(options_from_env(env)) session = session.plugin(:proxy).with_proxy(proxy_options) if env.request.proxy response = session.__send__(meth, uri, **request_options) response.raise_for_status unless response.is_a?(::HTTPX::Response) save_response(env, response.status, response.body.to_s, response.headers, response.reason) do |response_headers| response_headers.merge!(response.headers) end @app.call(env) rescue OpenSSL::SSL::SSLError => e raise SSL_ERROR, e rescue Errno::ECONNABORTED, Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::EHOSTUNREACH, Errno::EINVAL, Errno::ENETUNREACH, Errno::EPIPE => e raise CONNECTION_FAILED_ERROR, e end
def initialize(app)
def initialize(app) super(app) @session = Session.new end
def parallel?(env)
def parallel?(env) env[:parallel_manager] end
def setup_parallel_manager
def setup_parallel_manager ParallelManager.new end