package org.estgroup.phphub.api; import android.support.annotation.Nullable; import android.text.TextUtils; import org.estgroup.phphub.BuildConfig; import org.estgroup.phphub.common.provider.TokenProvider; import retrofit.RequestInterceptor; public class RequestInterceptorImpl implements RequestInterceptor { @Nullable private TokenProvider tokenProvider; @Nullable public TokenProvider getTokenProvider() { return tokenProvider; } public void setTokenProvider(@Nullable TokenProvider tokenProvider) { this.tokenProvider = tokenProvider; } private String getToken() { if (tokenProvider != null) { return tokenProvider.getToken(); } return null; } @Override public void intercept(RequestFacade request) { request.addHeader("Accept", "application/vnd.PHPHub.v1+json"); request.addHeader("X-Client-Platform", "Android"); request.addHeader("X-Client-Version", BuildConfig.VERSION_NAME); request.addHeader("X-Client-Build", String.valueOf(BuildConfig.VERSION_CODE)); request.addHeader("X-Client-Git-Sha", BuildConfig.GIT_SHA); if (tokenProvider != null) { String token = getToken(); if (!TextUtils.isEmpty(token)) { request.addHeader("Authorization", "Bearer " + token); } } } }