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