Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package rs.pink.klikpink.connectivity;
- import retrofit.RequestInterceptor;
- import retrofit.RestAdapter;
- import retrofit.android.AndroidLog;
- import rs.pink.klikpink.BuildConfig;
- import rs.pink.klikpink.utility.EncodingUtils;
- import rs.pink.klikpink.utility.UserUtils;
- public class RestServiceProvider {
- public static final String AUTHORIZATION = "Authorization";
- public static final String ACCEPT = "Accept";
- public static final String APPLICATION_JSON = "application/json";
- private static final String LOG = "KlikPink-LOG";
- public static ApiService getService() {
- String baseURL = BuildConfig.BASE_URL;
- RestAdapter restAdapter = new RestAdapter.Builder()
- .setLogLevel(RestAdapter.LogLevel.FULL).setLog(new AndroidLog(LOG))
- .setRequestInterceptor(new RequestInterceptor() {
- @Override
- public void intercept(RequestFacade request) {
- if (shouldAddAuthentication()) {
- addBasicAuthentication(request);
- }
- }
- })
- .setEndpoint(baseURL).build();
- return restAdapter.create(ApiService.class);
- }
- /**
- * Adding user's credentials to request header in order to achieve Basic Auth
- *
- * @param request - Request that is going to be sent away
- */
- private static void addBasicAuthentication(RequestInterceptor.RequestFacade request) {
- String username = UserUtils.getUsername();
- String password = UserUtils.getPassword();
- String basic = EncodingUtils.createBasicAuthHeader(username, password);
- request.addHeader(AUTHORIZATION, basic);
- request.addHeader(ACCEPT, APPLICATION_JSON);
- }
- /**
- * Determines if Basic Auth should be added to header
- *
- * @return TRUE if should, FALSE otherwise
- */
- private static boolean shouldAddAuthentication() {
- return UserUtils.getUsername() != null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement