diff options
author | Martin Gütlein <martin.guetlein@gmail.com> | 2010-04-19 14:03:29 +0200 |
---|---|---|
committer | Martin Gütlein <martin.guetlein@gmail.com> | 2010-04-19 14:03:29 +0200 |
commit | f4234893c238d298c09e921208c5431287899f8e (patch) | |
tree | 97565177fadc6ead370986c6377d49b46a48c215 /lib/utils.rb | |
parent | 7386c1b50448ad338b84628e1d585cefb05006f1 (diff) |
improved error handling
Diffstat (limited to 'lib/utils.rb')
-rw-r--r-- | lib/utils.rb | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/lib/utils.rb b/lib/utils.rb index a31e405..fa61a28 100644 --- a/lib/utils.rb +++ b/lib/utils.rb @@ -21,57 +21,5 @@ module OpenTox false end end - -end - - - module RestClientWrapper - - def self.get(uri, headers=nil) - execute( "get", uri, nil, headers ) - end - - def self.post(uri, payload=nil, headers=nil) - execute( "post", uri, payload, headers ) - end - - def self.delete(uri, headers=nil) - execute( "delete", uri, nil, headers ) - end - - private - def self.execute( rest_call, uri, payload, headers ) - - do_halt 400,"uri is null",uri,payload,headers unless uri - begin - if payload - RestClient.send(rest_call, uri, payload, headers) - else - RestClient.send(rest_call, uri, headers) - end - rescue RestClient::RequestFailed, RestClient::RequestTimeout => ex - do_halt 502,ex.message,uri,payload,headers - rescue SocketError, RestClient::ResourceNotFound => ex - do_halt 400,ex.message,uri,payload,headers - rescue Exception => ex - do_halt 500,"add error '"+ex.class.to_s+"'' to rescue in OpenTox::RestClientWrapper::execute(), msg: '"+ex.message.to_s+"'",uri,payload,headers - end - end - - def self.do_halt(status, msg, uri, payload, headers) - - message = msg+"" - message += ", uri: '"+uri.to_s+"'" if uri - message += ", payload: '"+payload.inspect+"'" if payload - message += ", headers: '"+headers.inspect+"'" if headers - - if defined?(halt) - halt(status,message) - elsif defined?($sinatra) - $sinatra.halt(status,message) - else - raise "halt '"+status.to_s+"' '"+message+"'" - end - end end end |