def initialize(connection)
begin
storage_url, auth_token, headers = SwiftClient.get_auth(connection.auth_url, connection.authuser, connection.authkey, connection.snet?)
rescue => e
raise CloudFiles::Exception::Connection, "Unable to connect to #{connection.auth_url}", caller
end
if auth_token
if headers["x-cdn-management-url"]
connection.cdn_available = true
parsed_cdn_url = URI.parse(headers["x-cdn-management-url"])
connection.cdnmgmthost = parsed_cdn_url.host
connection.cdnmgmtpath = parsed_cdn_url.path
connection.cdnmgmtport = parsed_cdn_url.port
connection.cdnmgmtscheme = parsed_cdn_url.scheme
end
parsed_storage_url = URI.parse(headers["x-storage-url"])
connection.storagehost = set_snet(connection, parsed_storage_url.host)
connection.storagepath = parsed_storage_url.path
connection.storageport = parsed_storage_url.port
connection.storagescheme = parsed_storage_url.scheme
connection.authtoken = headers["x-auth-token"]
connection.authok = true
else
connection.authtoken = false
raise CloudFiles::Exception::Authentication, "Authentication failed"
end
end