54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/circonus.rb', line 54
def _rest(type,url,,data=nil)
begin
resource = RestClient::Resource.new url, :timeout => @options[:timeout], :open_timeout => @options[:open_timeout], :verify_ssl => @options[:verify_ssl]
case type
when 'delete'
r = resource.delete
when 'post'
r = resource.post Yajl::Encoder.encode(data),
when 'put'
r = resource.put Yajl::Encoder.encode(data),
else 'get'
r = resource.get
end
rescue RestClient::Forbidden,RestClient::BadRequest,RestClient::InternalServerError,RestClient::MethodNotAllowed => e
err = Yajl::Parser.parse(e.response)
print "Error (#{e.http_code}): ",err['error']," [#{e.http_body}]\n" if @debug
raise if @raise_errors
return nil,err
rescue RestClient::RequestTimeout
raise Circonus::Timeout
end
return r
end
|