summaryrefslogtreecommitdiff
path: root/lib/vendor/excon/lib/excon/middlewares/expects.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/vendor/excon/lib/excon/middlewares/expects.rb')
-rw-r--r--lib/vendor/excon/lib/excon/middlewares/expects.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/vendor/excon/lib/excon/middlewares/expects.rb b/lib/vendor/excon/lib/excon/middlewares/expects.rb
new file mode 100644
index 0000000..78721b4
--- /dev/null
+++ b/lib/vendor/excon/lib/excon/middlewares/expects.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+module Excon
+ module Middleware
+ class Expects < Excon::Middleware::Base
+ def response_call(datum)
+ if datum.has_key?(:expects) && ![*datum[:expects]].include?(datum[:response][:status])
+ raise(
+ Excon::Errors.status_error(
+ datum.reject {|key,value| key == :response},
+ Excon::Response.new(datum[:response])
+ )
+ )
+ else
+ @stack.response_call(datum)
+ end
+ end
+ end
+ end
+end