X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Ffaraday%2Fadapter%2Fem_synchrony.rb;fp=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Ffaraday%2Fadapter%2Fem_synchrony.rb;h=0000000000000000000000000000000000000000;hb=6e1426dc77fb4e5d51f07c187c6f2219431dc31e;hp=305e702f8efdd7f32127db1d70af6103db03df8a;hpb=87423ba664cd5f2bb462ebadd08b1a90d0fe1c8d;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/em_synchrony.rb b/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/em_synchrony.rb deleted file mode 100644 index 305e702f8..000000000 --- a/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/em_synchrony.rb +++ /dev/null @@ -1,92 +0,0 @@ -require 'uri' - -module Faraday - class Adapter - class EMSynchrony < Faraday::Adapter - include EMHttp::Options - - dependency do - require 'em-synchrony/em-http' - require 'em-synchrony/em-multi' - require 'fiber' - end - - self.supports_parallel = true - - def self.setup_parallel_manager(options = {}) - ParallelManager.new - end - - def call(env) - super - request = EventMachine::HttpRequest.new(Utils::URI(env[:url].to_s), connection_config(env)) - - http_method = env[:method].to_s.downcase.to_sym - - # Queue requests for parallel execution. - if env[:parallel_manager] - env[:parallel_manager].add(request, http_method, request_config(env)) do |resp| - save_response(env, resp.response_header.status, resp.response) do |resp_headers| - resp.response_header.each do |name, value| - resp_headers[name.to_sym] = value - end - end - - # Finalize the response object with values from `env`. - env[:response].finish(env) - end - - # Execute single request. - else - client = nil - block = lambda { request.send(http_method, request_config(env)) } - - if !EM.reactor_running? - EM.run do - Fiber.new { - client = block.call - EM.stop - }.resume - end - else - client = block.call - end - - raise client.error if client.error - - save_response(env, client.response_header.status, client.response) do |resp_headers| - client.response_header.each do |name, value| - resp_headers[name.to_sym] = value - end - end - end - - @app.call env - rescue Errno::ECONNREFUSED - raise Error::ConnectionFailed, $! - rescue EventMachine::Connectify::CONNECTError => err - if err.message.include?("Proxy Authentication Required") - raise Error::ConnectionFailed, %{407 "Proxy Authentication Required "} - else - raise Error::ConnectionFailed, err - end - rescue => err - if defined?(OpenSSL) && OpenSSL::SSL::SSLError === err - raise Faraday::SSLError, err - else - raise - end - end - end - end -end - -require 'faraday/adapter/em_synchrony/parallel_manager' - -begin - require 'openssl' -rescue LoadError - warn "Warning: no such file to load -- openssl. Make sure it is installed if you want HTTPS support" -else - require 'faraday/adapter/em_http_ssl_patch' -end if Faraday::Adapter::EMSynchrony.loaded?