Statistics
| Branch: | Revision:

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

History | View | Annotate | Download (2.1 kB)

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

    
6
import java.io.IOException;
7
import java.net.URLEncoder;
8

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

    
13
import android.content.Context;
14
import android.util.Log;
15

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

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

    
25
        public static boolean authenticate(Context context) {
26
                CustomHttpClient httpclient = new CustomHttpClient(context);
27
                HttpGet get = new HttpGet(Account.getAccount().getAuthServer());
28
                get.addHeader("X-Auth-User", Account.getAccount().getUsername());
29
                get.addHeader("X-Auth-Key", "lMvqjHxChbQY+LgDqwWpYg==");//Account.getAccount().getApiKey());
30
                Log.i("AUTH STARTED", "AUTH STARTED");
31
                try {                        
32
                        HttpResponse resp = httpclient.execute(get);
33
                    if (resp.getStatusLine().getStatusCode() == 204) {
34
                            
35
                            Account.getAccount().setAuthToken(getHeaderValue(resp, "X-Auth-Token"));
36
                            Account.getAccount().setServerUrl(getHeaderValue(resp, "X-Server-Management-Url"));
37
                            Account.getAccount().setStorageUrl(getHeaderValue(resp, "X-Storage-Url"));
38
                            Account.getAccount().setStorageToken(getHeaderValue(resp, "X-Storage-Token"));
39
                            if(Account.getAccount().getStorageToken()==null)
40
                                    Account.getAccount().setStorageToken(Account.getAccount().getAuthToken());
41
                            Account.getAccount().setCdnManagementUrl(getHeaderValue(resp, "X-Cdn-Management-Url"));
42
                            return true;
43
                    } else {
44
                            Log.d("status code", Integer.toString(resp.getStatusLine().getStatusCode()));
45
                            return false;
46
                    }
47
                } catch (ClientProtocolException cpe) {
48
                        return false;
49
                } catch (IOException e) {
50
                        Log.v("info", e.toString());
51
                        return false;
52
                }
53
        }
54
        
55
        
56
        private static String getHeaderValue(HttpResponse resp, String key){
57
                if(resp.getFirstHeader(key)!=null)
58
                        return resp.getFirstHeader(key).getValue();
59
                return null;
60
        }
61
}