Sha256: 17a47a9561928ffc85a2a6b83aaad5a3f6877ce2bdb2cd8a8cb8fc106708947a

Contents?: true

Size: 600 Bytes

Versions: 56

Compression:

Stored size: 600 Bytes

Contents

# frozen_string_literal: true
module Excon
  module Middleware
    class Expects < Excon::Middleware::Base
      def self.valid_parameter_keys
        [
          :expects
        ]
      end

      def response_call(datum)
        if datum.has_key?(:expects) && ![*datum[:expects]].include?(datum[:response][:status])
          raise(
            Excon::Errors.status_error(
              datum.reject {|key,_| key == :response},
              Excon::Response.new(datum[:response])
            )
          )
        else
          @stack.response_call(datum)
        end
      end
    end
  end
end

Version data entries

56 entries across 55 versions & 2 rubygems

Version Path
excon-1.2.5 lib/excon/middlewares/expects.rb
excon-1.2.4 lib/excon/middlewares/expects.rb
excon-1.2.3 lib/excon/middlewares/expects.rb
excon-1.2.2 lib/excon/middlewares/expects.rb
excon-1.2.1 lib/excon/middlewares/expects.rb
excon-1.2.0 lib/excon/middlewares/expects.rb
excon-1.1.1 lib/excon/middlewares/expects.rb
excon-1.1.0 lib/excon/middlewares/expects.rb
excon-1.0.0 lib/excon/middlewares/expects.rb
excon-0.112.0 lib/excon/middlewares/expects.rb
excon-0.111.0 lib/excon/middlewares/expects.rb
excon-0.110.0 lib/excon/middlewares/expects.rb
excon-0.109.0 lib/excon/middlewares/expects.rb
excon-0.108.0 lib/excon/middlewares/expects.rb
excon-0.107.0 lib/excon/middlewares/expects.rb
excon-0.106.0 lib/excon/middlewares/expects.rb
excon-0.105.0 lib/excon/middlewares/expects.rb
excon-0.104.0 lib/excon/middlewares/expects.rb
excon-0.103.0 lib/excon/middlewares/expects.rb
excon-0.102.0 lib/excon/middlewares/expects.rb