Sha256: e3a68a97e5c55cfbc55773c003529400c491056159347ce1a4265695dbc96fbc
Contents?: true
Size: 1.18 KB
Versions: 3
Compression:
Stored size: 1.18 KB
Contents
# encoding: utf-8 require 'faraday' require 'github_api/error' module Github class Response::RaiseError < Faraday::Response::Middleware def on_complete(env) case env[:status].to_i when 400 raise Github::BadRequest.new(response_message(env), env[:response_headers]) when 401 raise Github::Unauthorised.new(response_message(env), env[:response_headers]) when 403 raise Github::Forbidden.new(response_message(env), env[:response_headers]) when 404 raise Github::ResourceNotFound.new(response_message(env), env[:response_headers]) when 422 raise Github::UnprocessableEntitty.new(response_message(env), env[:response_headers]) when 500 raise Github::InternalServerError.new(response_message(env), env[:response_headers]) when 503 raise Github::ServiceUnavailable.new(response_message(env), env[:response_headers]) when 400...600 raise Github::Error.new(response_message(env), env[:response_headers]) end end def response_message(env) "#{env[:method].to_s.upcase} #{env[:url].to_s}: #{env[:status]}#{env[:body]}" end end # Response::RaiseError end # Github
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
github_api-0.4.2 | lib/github_api/response/raise_error.rb |
github_api-0.4.1 | lib/github_api/response/raise_error.rb |
github_api-0.4.0 | lib/github_api/response/raise_error.rb |