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
35
36
37
38
39
40
41
42
43
|
# File 'lib/hello_sign/middleware/raise_error.rb', line 9
def on_complete(env)
body = env[:body] or return
error = body[:error] and begin
exception = begin
case error[:error_name]
when 'bad_request'
HelloSign::Error::BadRequest
when 'unauthorized'
HelloSign::Error::Unauthorized
when 'forbidden'
HelloSign::Error::Forbidden
when 'not_found'
HelloSign::Error::NotFound
when 'unknown'
HelloSign::Error::Unknown
when 'team_invite_failed'
HelloSign::Error::TeamInviteFailed
when 'invalid_recipient'
HelloSign::Error::InvalidRecipient
when 'convert_failed'
HelloSign::Error::ConvertFailed
when 'signature_request_cancel_failed'
HelloSign::Error::SignatureRequestCancelFailed
else
HelloSign::Error
end
end
message = error[:error_msg]
status_code = env[:response][:status]
raise exception.new(message, status_code)
end
end
|