def request(method_name, options = {})
begin
parser = options.delete(:parser)
options.merge!({ :method => method_name, :timestamp => Time.now.xmlschema, :key => @voxel_api_key })
options[:api_sig] = create_signature(@voxel_api_secret, options)
data = @connection.request(
:method => "POST",
:query => options,
:parser => parser,
:path => "/version/1.0/"
)
unless data.body['stat'] == 'ok'
raise Fog::Compute::Voxel::Error, "#{data.body['err']['msg']}"
end
data
rescue Excon::Errors::HTTPStatusError => error
raise case error
when Excon::Errors::NotFound
Fog::Compute::Voxel::NotFound.slurp(error)
else
error
end
end
end