class Faraday::Adapter::HTTPX::ParallelManager

  1. lib/httpx/adapters/faraday.rb
Superclass: Object

Methods

Public Class

  1. new

Public Instance

  1. enqueue
  2. run

Included modules

  1. RequestMixin

Public Class methods

new(options)
[show source]
    # File lib/httpx/adapters/faraday.rb
198 def initialize(options)
199   @handlers = []
200   @connection_options = options
201 end

Public Instance methods

enqueue(request)
[show source]
    # File lib/httpx/adapters/faraday.rb
203 def enqueue(request)
204   handler = ResponseHandler.new(request)
205   @handlers << handler
206   handler
207 end
run()
[show source]
    # File lib/httpx/adapters/faraday.rb
209 def run
210   return unless @handlers.last
211 
212   env = @handlers.last.env
213 
214   connect(env) do |session|
215     requests = @handlers.map { |handler| session.build_request(*build_request(handler.env)) }
216 
217     if env.request.stream_response?
218       requests.each do |request|
219         request.response_on_data = env.request.on_data
220       end
221     end
222 
223     responses = session.request(*requests)
224     Array(responses).each_with_index do |response, index|
225       handler = @handlers[index]
226       handler.on_response.call(response)
227       handler.on_complete.call(handler.env) if handler.on_complete
228     end
229   end
230 end