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