lib/fog/linode.rb in fog-0.2.15 vs lib/fog/linode.rb in fog-0.2.16
- old
+ new
@@ -56,22 +56,22 @@
def request(params)
params[:query] ||= {}
params[:query].merge!(:api_key => @linode_api_key)
- begin
- response = @connection.request(params.merge!({:host => @host}))
- rescue Excon::Errors::Error => error
- raise case error
- when Excon::Errors::NotFound
- Fog::Linode::NotFound.slurp(error)
- else
- error
- end
- end
+ response = @connection.request(params.merge!({:host => @host}))
unless response.body.empty?
response.body = JSON.parse(response.body)
+ if data = response.body['ERRORARRAY'].first
+ error = case data['ERRORCODE']
+ when 5
+ Fog::Linode::NotFound
+ else
+ Fog::Linode::Error
+ end
+ raise error.new(data['ERRORMESSAGE'])
+ end
end
response
end
end