class IIJ::Sakagura::Core::Middleware::RaiseError
Public Class Methods
new(app)
click to toggle source
Calls superclass method
# File lib/iij/sakagura/core/middleware/iij_sakagura_raise_error.rb, line 9 def initialize(app) super(app) end
Public Instance Methods
on_complete(env)
click to toggle source
# File lib/iij/sakagura/core/middleware/iij_sakagura_raise_error.rb, line 13 def on_complete(env) case env[:status] when 200...300 nil when 400 raise IIJ::Sakagura::Core::Error::BadRequest, response_values(env) when 401 raise IIJ::Sakagura::Core::Error::Unauthorized, response_values(env) when 403 raise IIJ::Sakagura::Core::Error::Forbidden, response_values(env) when 404 raise IIJ::Sakagura::Core::Error::NotFound, response_values(env) when 400...500 raise IIJ::Sakagura::Core::Error::ClientError, response_values(env) when 500 raise IIJ::Sakagura::Core::Error::SystemError, response_values(env) when 502 raise IIJ::Sakagura::Core::Error::BadGateway, response_values(env) when 503 raise IIJ::Sakagura::Core::Error::ServiceUnavailable, response_values(env) when 500...600 raise IIJ::Sakagura::Core::Error::ServerError, response_values(env) end parse_body(env) end
parse_body(env)
click to toggle source
# File lib/iij/sakagura/core/middleware/iij_sakagura_raise_error.rb, line 44 def parse_body(env) if env[:body].has_key? "ErrorResponse" raise IIJ::Sakagura::Core::Error::BackendError, response_values(env) end end
response_values(env)
click to toggle source
# File lib/iij/sakagura/core/middleware/iij_sakagura_raise_error.rb, line 40 def response_values(env) {:status => env[:status], :headers => env[:response_headers], :body => env[:body]} end