Sha256: 8a0722453e33ccd3232049ecacb9f9d16634aa1d27ff27a361cf519cc4330f51

Contents?: true

Size: 1.08 KB

Versions: 13

Compression:

Stored size: 1.08 KB

Contents

module Faraday
  class Response::FullContactErrors < Response::Middleware
      def on_complete(env)
	   case env[:status]
			when 400
			raise FullContact::BadRequest.new(error_message(env), env[:response_headers])
		  when 401
			raise FullContact::Unauthorized.new(error_message(env), env[:response_headers])
		  when 403
			raise FullContact::Forbidden.new(error_message(env), env[:response_headers])
		  when 404
			raise FullContact::NotFound.new(error_message(env), env[:response_headers])
		  when 422
			raise FullContact::Invalid.new(error_message(env), env[:response_headers])
 		when 500
        raise FullContact::InternalServerError.new(error_message(env), env[:response_headers])
      when 502
        raise FullContact::BadGateway.new(error_message(env), env[:response_headers])
      when 503
        raise FullContact::ServiceUnavailable.new(error_message(env), env[:response_headers])
      end
		   end

	 def error_message(env)
      "#{env[:method].to_s.upcase} #{env[:url].to_s}: #{env[:status]}"
    end

    def initialize(app)
      super
      @parser = nil
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
fullcontact-0.7.0 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.6.1 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.6.0 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.5.0 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.4.4 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.4.1 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.3.3 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.3.2 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.3.1 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.3.0 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.2.0 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.1.4 lib/faraday/response/fullcontact_errors.rb
fullcontact-0.1.3 lib/faraday/response/fullcontact_errors.rb