Statistics
| Branch: | Revision:

root / src / com / rackspace / cloud / servers / api / client / http / Authentication.java @ a597c658

History | View | Annotate | Download (1.5 kB)

1
/**
2
 * 
3
 */
4
package com.rackspace.cloud.servers.api.client.http;
5

    
6
import java.io.IOException;
7

    
8
import org.apache.http.HttpResponse;
9
import org.apache.http.client.ClientProtocolException;
10
import org.apache.http.client.methods.HttpGet;
11
import org.apache.http.impl.client.DefaultHttpClient;
12

    
13
import android.content.Context;
14

    
15
import com.rackspace.cloud.files.api.client.CustomHttpClient;
16
import com.rackspace.cloud.servers.api.client.Account;
17

    
18
/**
19
 * @author Mike Mayo - mike.mayo@rackspace.com - twitter.com/greenisus
20
 *
21
 */
22
public class Authentication {
23

    
24
        public static boolean authenticate(Context context) {
25
                CustomHttpClient httpclient = new CustomHttpClient(context);
26
                HttpGet get = new HttpGet(Account.getAuthServer());
27
                
28
                get.addHeader("X-Auth-User", Account.getUsername());
29
                get.addHeader("X-Auth-Key", Account.getApiKey());
30
                
31
                try {                        
32
                        HttpResponse resp = httpclient.execute(get);
33
                    
34
                    if (resp.getStatusLine().getStatusCode() == 204) {
35
                            Account.setAuthToken(resp.getFirstHeader("X-Auth-Token").getValue());
36
                            Account.setServerUrl(resp.getFirstHeader("X-Server-Management-Url").getValue());
37
                            Account.setStorageUrl(resp.getFirstHeader("X-Storage-Url").getValue());
38
                            Account.setStorageToken(resp.getFirstHeader("X-Storage-Token").getValue());
39
                            Account.setCdnManagementUrl(resp.getFirstHeader("X-Cdn-Management-Url").getValue());
40
                            return true;
41
                    } else {
42
                            return false;
43
                    }
44
                } catch (ClientProtocolException cpe) {
45
                        return false;
46
                } catch (IOException e) {
47
                        return false;
48
                }
49
        }
50
}