feature/fetch_userinfo #85
|
@ -13,6 +13,7 @@ import dagger.hilt.components.SingletonComponent;
|
|||
import okhttp3.OkHttpClient;
|
||||
import one.nem.kidshift.data.UserSettings;
|
||||
import one.nem.kidshift.data.retrofit.interceptor.AuthorizationInterceptor;
|
||||
import one.nem.kidshift.utils.KSLogger;
|
||||
import retrofit2.Retrofit;
|
||||
import retrofit2.converter.gson.GsonConverterFactory;
|
||||
|
||||
|
@ -23,10 +24,13 @@ public class KidShiftApiServiceModule {
|
|||
@Inject
|
||||
UserSettings userSettings;
|
||||
|
||||
@Inject
|
||||
KSLogger logger;
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
public AuthorizationInterceptor provideAuthorizationInterceptor() {
|
||||
return new AuthorizationInterceptor(userSettings);
|
||||
return new AuthorizationInterceptor(userSettings, logger);
|
||||
}
|
||||
|
||||
// Gson
|
||||
|
|
|
@ -9,6 +9,7 @@ import javax.inject.Inject;
|
|||
import okhttp3.Interceptor;
|
||||
import okhttp3.Response;
|
||||
import one.nem.kidshift.data.UserSettings;
|
||||
import one.nem.kidshift.utils.KSLogger;
|
||||
|
||||
public class AuthorizationInterceptor implements Interceptor {
|
||||
|
||||
|
@ -17,10 +18,13 @@ public class AuthorizationInterceptor implements Interceptor {
|
|||
public static final String HEADER_PLACEHOLDER = HEADER_NAME + ": " + HEADER_VALUE;
|
||||
|
||||
private final UserSettings userSettings;
|
||||
private final KSLogger logger;
|
||||
|
||||
@Inject
|
||||
public AuthorizationInterceptor(UserSettings userSettings) {
|
||||
public AuthorizationInterceptor(UserSettings userSettings, KSLogger logger) {
|
||||
this.userSettings = userSettings;
|
||||
this.logger = logger;
|
||||
logger.setTag("AuthorizationInterceptor")
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
@ -28,12 +32,15 @@ public class AuthorizationInterceptor implements Interceptor {
|
|||
public Response intercept(@NonNull Chain chain) throws IOException {
|
||||
try {
|
||||
if (chain.request().header(HEADER_NAME) == null) {
|
||||
logger.debug("No Authorization header found. Skipping.");
|
||||
return chain.proceed(chain.request());
|
||||
}
|
||||
if (!HEADER_VALUE.equals(chain.request().header(HEADER_NAME))) {
|
||||
logger.debug("Authorization header found, but value is not expected. Skipping.");
|
||||
return chain.proceed(chain.request());
|
||||
}
|
||||
|
||||
logger.debug("Authorization header found. Adding value.");
|
||||
return chain.proceed(chain.request().newBuilder()
|
||||
.header(HEADER_NAME, userSettings.getAppCommonSetting().getAccessToken())
|
||||
.build());
|
||||
|
|
Loading…
Reference in New Issue
Block a user