Skip to content

Instantly share code, notes, and snippets.

@keithics
Created November 26, 2015 13:21
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save keithics/38c5fb311f2574d1fd30 to your computer and use it in GitHub Desktop.
Save keithics/38c5fb311f2574d1fd30 to your computer and use it in GitHub Desktop.
Retrofit Class Wrapper for Android
package com.webninja.usjr.rest;
import com.squareup.okhttp.OkHttpClient;
import com.webninja.usjr.libs.AppConstants;
import retrofit.RequestInterceptor;
import retrofit.RestAdapter;
import retrofit.client.OkClient;
public class RestClient {
private static ApiService REST_CLIENT;
private static String SERVER_ROOT;
private RestClient() {}
public static ApiService get() {
return get(AppConstants.SERVER_ROOT);
}
public static ApiService get(String root) {
RestClient.SERVER_ROOT = root;
setupRestClient();
return REST_CLIENT;
}
private static void setupRestClient() {
RequestInterceptor requestInterceptor = new RequestInterceptor() {
@Override
public void intercept(RequestFacade request) {
request.addHeader("User-Agent", "Android-App");
request.addHeader("mobile", "true");
}
};
RestAdapter.Builder builder = new RestAdapter.Builder()
.setEndpoint(RestClient.SERVER_ROOT)
.setRequestInterceptor(requestInterceptor)
.setClient(new OkClient(new OkHttpClient()))
.setLogLevel(RestAdapter.LogLevel.FULL);
RestAdapter restAdapter = builder.build();
REST_CLIENT = restAdapter.create(ApiService.class);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment