1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

[rackspace] added transaction id to monitoring exceptions; passing service into slurp for compute, databases, dns and load balancers

This commit is contained in:
Kyle Rames 2013-08-14 10:05:25 -05:00
parent fd0b94b860
commit 329b0dec92
6 changed files with 30 additions and 26 deletions

View file

@ -19,7 +19,7 @@ module Fog
"[#{status} | #{transaction_id}] #{super}"
end
def self.slurp(error)
def self.slurp(error, service=nil)
data = nil
message = nil
status_code = nil
@ -69,7 +69,7 @@ module Fog
#TODO - Need to find a better way to print out these validation errors when they are thrown
attr_reader :validation_errors
def self.slurp(error)
def self.slurp(error, service=nil)
new_error = super(error)
unless new_error.response_data.nil? or new_error.response_data['badRequest'].nil?
new_error.instance_variable_set(:@validation_errors, new_error.response_data['badRequest']['validationErrors'])

View file

@ -204,13 +204,13 @@ module Fog
def request(params, parse_json = true, &block)
super(params, parse_json, &block)
rescue Excon::Errors::NotFound => error
raise NotFound.slurp(error, region)
raise NotFound.slurp(error, self)
rescue Excon::Errors::BadRequest => error
raise BadRequest.slurp error
raise BadRequest.slurp(error, self)
rescue Excon::Errors::InternalServerError => error
raise InternalServerError.slurp error
raise InternalServerError.slurp(error, self)
rescue Excon::Errors::HTTPStatusError => error
raise ServiceError.slurp error
raise ServiceError.slurp(error, self)
end
def service_net?

View file

@ -88,13 +88,13 @@ module Fog
def request(params, parse_json = true, &block)
super(params, parse_json, &block)
rescue Excon::Errors::NotFound => error
raise NotFound.slurp(error, region)
raise NotFound.slurp(error, self)
rescue Excon::Errors::BadRequest => error
raise BadRequest.slurp error
raise BadRequest.slurp(error, self)
rescue Excon::Errors::InternalServerError => error
raise InternalServerError.slurp error
raise InternalServerError.slurp(error, self)
rescue Excon::Errors::HTTPStatusError => error
raise ServiceError.slurp error
raise ServiceError.slurp(error, self)
end
def endpoint_uri(service_endpoint_url=nil)

View file

@ -115,17 +115,17 @@ module Fog
begin
super(params, parse_json, &block)
rescue Excon::Errors::NotFound => error
raise NotFound.slurp(error, region)
raise NotFound.slurp(error, self)
rescue Excon::Errors::BadRequest => error
raise BadRequest.slurp error
raise BadRequest.slurp(error, self)
rescue Excon::Errors::InternalServerError => error
raise InternalServerError.slurp error
raise InternalServerError.slurp(error, self)
rescue Excon::Errors::ServiceUnavailable => error
raise ServiceUnavailable.slurp error
raise ServiceUnavailable.slurp(error, self)
rescue Excon::Errors::Conflict => error
raise Conflict.slurp error
raise Conflict.slurp(error, self)
rescue Excon::Errors::HTTPStatusError => error
raise ServiceError.slurp error
raise ServiceError.slurp(error, self)
end
end

View file

@ -122,13 +122,13 @@ module Fog
def request(params, parse_json = true, &block)
super(params, parse_json, &block)
rescue Excon::Errors::NotFound => error
raise NotFound.slurp(error, region)
raise NotFound.slurp(error, self)
rescue Excon::Errors::BadRequest => error
raise BadRequest.slurp error
raise BadRequest.slurp(error, self)
rescue Excon::Errors::InternalServerError => error
raise InternalServerError.slurp error
raise InternalServerError.slurp(error, self)
rescue Excon::Errors::HTTPStatusError => error
raise ServiceError.slurp error
raise ServiceError.slurp(error, self)
end
def authenticate(options={})

View file

@ -116,22 +116,26 @@ module Fog
@uri = super(@rackspace_endpoint || service_endpoint_url, :rackspace_monitoring_url)
end
def request_id_header
"X-Response-Id"
end
private
def request(params, parse_json = true, &block)
super(params, parse_json, &block)
rescue Excon::Errors::BadRequest => error
raise BadRequest.slurp error
raise BadRequest.slurp(error, self)
rescue Excon::Errors::Conflict => error
raise Conflict.slurp error
raise Conflict.slurp(error, self)
rescue Excon::Errors::NotFound => error
raise NotFound.slurp(error, region)
raise NotFound.slurp(error, self)
rescue Excon::Errors::ServiceUnavailable => error
raise ServiceUnavailable.slurp error
raise ServiceUnavailable.slurp(error, self)
rescue Excon::Errors::InternalServerError => error
raise InternalServerError.slurp error
raise InternalServerError.slurp(error, self)
rescue Excon::Errors::HTTPStatusError => error
raise ServiceError.slurp error
raise ServiceError.slurp(error, self)
end
def authenticate