X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Ffaraday%2Fadapter%2Frack.rb;fp=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Ffaraday%2Fadapter%2Frack.rb;h=0000000000000000000000000000000000000000;hb=706621d7a3318aef2d3a0b3665d08a98fdd9a458;hp=0d2146487070d1a4b88f836e143af54a2fd9bba6;hpb=6eb028a997c0756fdd3d27a16297180db269631b;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/rack.rb b/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/rack.rb deleted file mode 100644 index 0d2146487..000000000 --- a/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/rack.rb +++ /dev/null @@ -1,58 +0,0 @@ -module Faraday - class Adapter - # Sends requests to a Rack app. - # - # Examples - # - # class MyRackApp - # def call(env) - # [200, {'Content-Type' => 'text/html'}, ["hello world"]] - # end - # end - # - # Faraday.new do |conn| - # conn.adapter :rack, MyRackApp.new - # end - class Rack < Faraday::Adapter - dependency 'rack/test' - - # not prefixed with "HTTP_" - SPECIAL_HEADERS = %w[ CONTENT_LENGTH CONTENT_TYPE ] - - def initialize(faraday_app, rack_app) - super(faraday_app) - mock_session = ::Rack::MockSession.new(rack_app) - @session = ::Rack::Test::Session.new(mock_session) - end - - def call(env) - super - rack_env = { - :method => env[:method], - :input => env[:body].respond_to?(:read) ? env[:body].read : env[:body], - 'rack.url_scheme' => env[:url].scheme - } - - env[:request_headers].each do |name, value| - name = name.upcase.tr('-', '_') - name = "HTTP_#{name}" unless SPECIAL_HEADERS.include? name - rack_env[name] = value - end if env[:request_headers] - - timeout = env[:request][:timeout] || env[:request][:open_timeout] - response = if timeout - Timer.timeout(timeout, Faraday::Error::TimeoutError) { execute_request(env, rack_env) } - else - execute_request(env, rack_env) - end - - save_response(env, response.status, response.body, response.headers) - @app.call env - end - - def execute_request(env, rack_env) - @session.request(env[:url].to_s, rack_env) - end - end - end -end