in app/src/main/java/org/apache/fineract/data/remote/FineractInterceptor.java [46:85]
public Response intercept(@NonNull Chain chain) throws IOException {
Request chainRequest = chain.request();
Builder builder = chainRequest.newBuilder();
//TODO fix call single time instead of calling every request
String authToken = preferencesHelper.getAccessToken();
String tenantIdentifier = preferencesHelper.getTenantIdentifier();
String user = preferencesHelper.getUserName();
Boolean refreshTokenStatus = preferencesHelper.getBoolean(
PreferenceKey.PREF_KEY_REFRESH_ACCESS_TOKEN, false);
builder.header(HEADER_ACCEPT_JSON, "application/json");
builder.header(HEADER_CONTENT_TYPE, "application/json");
if (refreshTokenStatus) {
//Add Cookies
HashSet<String> cookies = (HashSet<String>) preferencesHelper.getStringSet(
PreferenceKey.PREF_KEY_COOKIES);
if (cookies != null) {
for (String cookie : cookies) {
builder.addHeader("Cookie", cookie);
}
}
} else {
if (!TextUtils.isEmpty(authToken)) {
builder.header(HEADER_AUTH, authToken);
}
if (!TextUtils.isEmpty(user)) {
builder.header(HEADER_USER, user);
}
}
if (!TextUtils.isEmpty(tenantIdentifier)) {
builder.header(HEADER_TENANT, tenantIdentifier);
}
Request request = builder.build();
return chain.proceed(request);
}