6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/docker_swarm/middleware/error_handler.rb', line 6
def response_call(env)
return @stack.response_call(env) unless env[:response]
status = env[:response][:status]
body = env[:response][:body]
return @stack.response_call(env) if (200..299).include?(status)
error_msg = error_message(body)
log_business_error(env, status, error_msg)
case status
when 400 then raise ::DockerSwarm::BadRequest, error_msg
when 401 then raise ::DockerSwarm::Unauthorized, error_msg
when 403 then raise ::DockerSwarm::Forbidden, error_msg
when 404 then raise ::DockerSwarm::NotFound, error_msg
when 406 then raise ::DockerSwarm::NotAcceptable, error_msg
when 408 then raise ::DockerSwarm::RequestTimeout, error_msg
when 409 then raise ::DockerSwarm::Conflict, error_msg
when 422 then raise ::DockerSwarm::UnprocessableEntity, body
when 429 then raise ::DockerSwarm::TooManyRequests, error_msg
when 500 then raise ::DockerSwarm::InternalServerError, error_msg
when 502 then raise ::DockerSwarm::BadGateway, error_msg
when 503 then raise ::DockerSwarm::ServiceUnavailable, error_msg
when 504 then raise ::DockerSwarm::GatewayTimeout, error_msg
else
raise ::DockerSwarm::Error, "HTTP #{status}: #{error_msg}"
end
end
|