Sha256: c2866741c1cd0f7667a110a3e059c9e2733addc616af4af6f4a5a39ecefeac13
Contents?: true
Size: 953 Bytes
Versions: 2
Compression:
Stored size: 953 Bytes
Contents
module Protolink module FaradayResponse class WithIndifferentAccess < ::Faraday::Response::Middleware begin require 'active_support/core_ext/hash/indifferent_access' rescue LoadError, NameError => error self.load_error = error end def self.register_on_complete(env) env[:response].on_complete do |response| json = response[:body] if json.is_a?(Hash) response[:body] = ::HashWithIndifferentAccess.new(json) elsif json.is_a?(Array) and json.first.is_a?(Hash) response[:body] = json.map{|item| ::HashWithIndifferentAccess.new(item) } end end end end class RaiseOnAuthenticationFailure < ::Faraday::Response::Middleware def self.register_on_complete(env) env[:response].on_complete do |response| raise AuthenticationFailed if response[:status] == 401 end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
protolink-0.1.1 | lib/protolink/middleware.rb |
protolink-0.1.0 | lib/protolink/middleware.rb |