Hello, why is my interceptor not proceeding reques...
# squarelibraries
e
Hello, why is my interceptor not proceeding request?
Copy code
class TokenInterceptor @Inject constructor(
    private val preferencesRepository: PreferencesRepository,
    private val cognitoRepository: CognitoRepository
) : Interceptor {
    override fun intercept(chain: Interceptor.Chain): Response {
        return runBlocking {
            val request = chain.request().newBuilder().build()

            if (preferencesRepository.isTokenExpired()) {
                cognitoRepository.login(
                    number = null,
                    password = null,
                    refreshToken = preferencesRepository.getRefreshToken(),
                    loginType = CognitoRepository.LoginType.RefreshToken
                ).collect()
            }

            chain.proceed(request)
        }
    }
}
j
Not enough to diagnose here
Executable test case?
Also if you're using the same OkHttpClient inside an interceptor, be careful about hitting your dispatcher limits
Highly recommend only doing blocking calls inside interceptors, not suspending calls
e
I want to write a token interceptor do you have any example?
j
Not handy
maybe it may be generating an exception in preferences Repository#isTokenExpired that is not returning true to make the new request
e
no it is returning true and also login get success response but i will look that medium article thx