Sha256: aa92384161428974f88be168f0d87071167594cfc5f1c9e43f6faa4130fd3981

Contents?: true

Size: 1016 Bytes

Versions: 51

Compression:

Stored size: 1016 Bytes

Contents

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

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
fog-0.1.8 lib/fog/rackspace.rb
fog-0.1.7 lib/fog/rackspace.rb
fog-0.1.6 lib/fog/rackspace.rb
fog-0.1.5 lib/fog/rackspace.rb
fog-0.1.4 lib/fog/rackspace.rb
fog-0.1.3 lib/fog/rackspace.rb
fog-0.1.2 lib/fog/rackspace.rb
fog-0.1.1 lib/fog/rackspace.rb
fog-0.1.0 lib/fog/rackspace.rb
fog-0.0.100 lib/fog/rackspace.rb
fog-0.0.99 lib/fog/rackspace.rb
fog-0.0.98 lib/fog/rackspace.rb
fog-0.0.97 lib/fog/rackspace.rb
fog-0.0.96 lib/fog/rackspace.rb
fog-0.0.95 lib/fog/rackspace.rb
fog-0.0.94 lib/fog/rackspace.rb
fog-0.0.93 lib/fog/rackspace.rb
fog-0.0.92 lib/fog/rackspace.rb
fog-0.0.91 lib/fog/rackspace.rb
fog-0.0.90 lib/fog/rackspace.rb