@@ -7,9 +7,11 @@ import com.kuit.findu.BuildConfig.DEBUG
77import com.kuit.findu.data.datalocal.datasource.TokenLocalDataSource
88import com.kuit.findu.data.dataremote.service.ReissueService
99import com.kuit.findu.data.dataremote.util.AuthAuthenticator
10+ import com.kuit.findu.data.dataremote.util.AuthErrorInterceptor
1011import com.kuit.findu.data.dataremote.util.AuthInterceptor
1112import com.kuit.findu.data.dataremote.util.DiscordLogger
1213import com.kuit.findu.data.dataremote.util.ErrorTrackingInterceptor
14+ import com.kuit.findu.data.dataremote.util.SessionExpiredEventManager
1315import com.kuit.findu.di.qualifier.ReissueRetrofit
1416import dagger.Module
1517import dagger.Provides
@@ -45,13 +47,15 @@ object NetworkModule {
4547 loggingInterceptor : HttpLoggingInterceptor ,
4648 authInterceptor : AuthInterceptor ,
4749 authAuthenticator : AuthAuthenticator ,
50+ authErrorInterceptor : AuthErrorInterceptor ,
4851 errorTrackingInterceptor : ErrorTrackingInterceptor ,
4952 ): OkHttpClient =
5053 OkHttpClient .Builder ().apply {
5154 connectTimeout(10 , TimeUnit .SECONDS )
5255 writeTimeout(10 , TimeUnit .SECONDS )
5356 readTimeout(10 , TimeUnit .SECONDS )
5457 addInterceptor(authInterceptor)
58+ addInterceptor(authErrorInterceptor)
5559 if (DEBUG ) addInterceptor(loggingInterceptor)
5660 else addInterceptor(errorTrackingInterceptor)
5761 authenticator(authAuthenticator)
@@ -75,8 +79,18 @@ object NetworkModule {
7579 fun provideAuthAuthenticator (
7680 tokenLocalDataSource : TokenLocalDataSource ,
7781 reissueService : ReissueService ,
82+ sessionExpiredEventManager : SessionExpiredEventManager ,
7883 ): AuthAuthenticator {
79- return AuthAuthenticator (tokenLocalDataSource, reissueService)
84+ return AuthAuthenticator (tokenLocalDataSource, reissueService, sessionExpiredEventManager)
85+ }
86+
87+ @Provides
88+ @Singleton
89+ fun provideAuthErrorInterceptor (
90+ tokenLocalDataSource : TokenLocalDataSource ,
91+ sessionExpiredEventManager : SessionExpiredEventManager ,
92+ ): AuthErrorInterceptor {
93+ return AuthErrorInterceptor (tokenLocalDataSource, sessionExpiredEventManager)
8094 }
8195
8296 @Provides
0 commit comments