def request(params)
params[:query] ||= {}
params[:query].merge!({
:password => @bare_metal_cloud_password,
:username => @bare_metal_cloud_username
})
params[:headers] ||= {}
case params[:method]
when 'DELETE', 'GET', 'HEAD'
params[:headers]['Accept'] = 'application/xml'
when 'POST', 'PUT'
params[:headers]['Content-Type'] = 'application/xml'
end
begin
response = @connection.request(params.merge!({:host => @host}))
rescue Excon::Errors::HTTPStatusError => error
raise case error
when Excon::Errors::NotFound
Fog::Compute::BareMetalCloud::NotFound.slurp(error)
else
error
end
end
response
end