X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Ffaraday%2Fadapter%2Fpatron.rb;fp=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Ffaraday%2Fadapter%2Fpatron.rb;h=0000000000000000000000000000000000000000;hb=6e1426dc77fb4e5d51f07c187c6f2219431dc31e;hp=cf2d37fbef692a1f991cccb5cb589fd486cbac65;hpb=87423ba664cd5f2bb462ebadd08b1a90d0fe1c8d;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/patron.rb b/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/patron.rb deleted file mode 100644 index cf2d37fbe..000000000 --- a/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/patron.rb +++ /dev/null @@ -1,72 +0,0 @@ -module Faraday - class Adapter - class Patron < Faraday::Adapter - dependency 'patron' - - def initialize(app, &block) - super(app) - @block = block - end - - def call(env) - super - - # TODO: support streaming requests - env[:body] = env[:body].read if env[:body].respond_to? :read - - session = @session ||= create_session - - if req = env[:request] - session.timeout = session.connect_timeout = req[:timeout] if req[:timeout] - session.connect_timeout = req[:open_timeout] if req[:open_timeout] - - if proxy = req[:proxy] - proxy_uri = proxy[:uri].dup - proxy_uri.user = proxy[:user] && Utils.escape(proxy[:user]).gsub('+', '%20') - proxy_uri.password = proxy[:password] && Utils.escape(proxy[:password]).gsub('+', '%20') - session.proxy = proxy_uri.to_s - end - end - - response = begin - data = env[:body] ? env[:body].to_s : nil - session.request(env[:method], env[:url].to_s, env[:request_headers], :data => data) - rescue Errno::ECONNREFUSED, ::Patron::ConnectionFailed - raise Error::ConnectionFailed, $! - end - - save_response(env, response.status, response.body, response.headers) - - @app.call env - rescue ::Patron::TimeoutError => err - if err.message == "Connection time-out" - raise Faraday::Error::ConnectionFailed, err - else - raise Faraday::Error::TimeoutError, err - end - rescue ::Patron::Error => err - if err.message.include?("code 407") - raise Error::ConnectionFailed, %{407 "Proxy Authentication Required "} - else - raise Error::ConnectionFailed, err - end - end - - if loaded? && defined?(::Patron::Request::VALID_ACTIONS) - # HAX: helps but doesn't work completely - # https://github.com/toland/patron/issues/34 - ::Patron::Request::VALID_ACTIONS.tap do |actions| - actions << :patch unless actions.include? :patch - actions << :options unless actions.include? :options - end - end - - def create_session - session = ::Patron::Session.new - session.insecure = true - @block.call(session) if @block - session - end - end - end -end