1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/rackspace.rb
2010-03-19 18:29:42 -07:00

31 lines
1,016 B
Ruby

require 'fog/rackspace/files'
require 'fog/rackspace/servers'
module Fog
module Rackspace
def self.authenticate(options)
unless @rackspace_api_key = options[:rackspace_api_key]
raise ArgumentError.new('rackspace_api_key is required to access rackspace')
end
unless @rackspace_username = options[:rackspace_username]
raise ArgumentError.new('rackspace_username is required to access rackspace')
end
connection = Fog::Connection.new("https://auth.api.rackspacecloud.com")
response = connection.request({
:expects => 204,
:headers => {
'X-Auth-Key' => @rackspace_api_key,
'X-Auth-User' => @rackspace_username
},
:host => 'auth.api.rackspacecloud.com',
:method => 'GET',
:path => 'v1.0'
})
response.headers.reject do |key, value|
!['X-Server-Management-Url', 'X-Storage-Url', 'X-CDN-Management-Url', 'X-Auth-Token'].include?(key)
end
end
end
end