Advertisement
Guest User

RestServiceProvider

a guest
Mar 9th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. package rs.pink.klikpink.connectivity;
  2.  
  3. import retrofit.RequestInterceptor;
  4. import retrofit.RestAdapter;
  5. import retrofit.android.AndroidLog;
  6. import rs.pink.klikpink.BuildConfig;
  7. import rs.pink.klikpink.utility.EncodingUtils;
  8. import rs.pink.klikpink.utility.UserUtils;
  9.  
  10. public class RestServiceProvider {
  11. public static final String AUTHORIZATION = "Authorization";
  12. public static final String ACCEPT = "Accept";
  13. public static final String APPLICATION_JSON = "application/json";
  14. private static final String LOG = "KlikPink-LOG";
  15.  
  16. public static ApiService getService() {
  17. String baseURL = BuildConfig.BASE_URL;
  18. RestAdapter restAdapter = new RestAdapter.Builder()
  19. .setLogLevel(RestAdapter.LogLevel.FULL).setLog(new AndroidLog(LOG))
  20. .setRequestInterceptor(new RequestInterceptor() {
  21. @Override
  22. public void intercept(RequestFacade request) {
  23. if (shouldAddAuthentication()) {
  24. addBasicAuthentication(request);
  25. }
  26. }
  27. })
  28. .setEndpoint(baseURL).build();
  29. return restAdapter.create(ApiService.class);
  30.  
  31. }
  32.  
  33. /**
  34. * Adding user's credentials to request header in order to achieve Basic Auth
  35. *
  36. * @param request - Request that is going to be sent away
  37. */
  38. private static void addBasicAuthentication(RequestInterceptor.RequestFacade request) {
  39. String username = UserUtils.getUsername();
  40. String password = UserUtils.getPassword();
  41.  
  42. String basic = EncodingUtils.createBasicAuthHeader(username, password);
  43. request.addHeader(AUTHORIZATION, basic);
  44. request.addHeader(ACCEPT, APPLICATION_JSON);
  45. }
  46.  
  47. /**
  48. * Determines if Basic Auth should be added to header
  49. *
  50. * @return TRUE if should, FALSE otherwise
  51. */
  52. private static boolean shouldAddAuthentication() {
  53. return UserUtils.getUsername() != null;
  54. }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement