Skip to content

Commit 91a9870

Browse files
committed
Refactor: NetworkModule 내 OkHttpClient 공통 설정 분리 및 중복 로직 수정
1 parent 014a278 commit 91a9870

File tree

1 file changed

+29
-32
lines changed

1 file changed

+29
-32
lines changed

app/src/main/java/com/threegap/bitnagil/di/core/NetworkModule.kt

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -92,18 +92,43 @@ object NetworkModule {
9292

9393
@Provides
9494
@Singleton
95-
@Kakao
96-
fun provideKakaoOkHttpClient(
95+
fun provideBaseOkHttpClient(
9796
httpLoggingInterceptor: HttpLoggingInterceptor,
98-
@Kakao kakaoAuthInterceptor: Interceptor,
9997
): OkHttpClient = OkHttpClient.Builder()
100-
.addInterceptor(kakaoAuthInterceptor)
10198
.addInterceptor(httpLoggingInterceptor)
10299
.connectTimeout(10L, TimeUnit.SECONDS)
103100
.writeTimeout(30L, TimeUnit.SECONDS)
104101
.readTimeout(30L, TimeUnit.SECONDS)
105102
.build()
106103

104+
@Provides
105+
@Singleton
106+
@NoneAuth
107+
fun provideNoneAuthOkHttpClient(baseClient: OkHttpClient): OkHttpClient =
108+
baseClient.newBuilder().build()
109+
110+
@Provides
111+
@Singleton
112+
@Auth
113+
fun provideAuthOkHttpClient(
114+
baseClient: OkHttpClient,
115+
@Auth authInterceptor: Interceptor,
116+
tokenAuthenticator: TokenAuthenticator,
117+
): OkHttpClient = baseClient.newBuilder()
118+
.addInterceptor(authInterceptor)
119+
.authenticator(tokenAuthenticator)
120+
.build()
121+
122+
@Provides
123+
@Singleton
124+
@Kakao
125+
fun provideKakaoOkHttpClient(
126+
baseClient: OkHttpClient,
127+
@Kakao kakaoAuthInterceptor: Interceptor,
128+
): OkHttpClient = baseClient.newBuilder()
129+
.addInterceptor(kakaoAuthInterceptor)
130+
.build()
131+
107132
@Provides
108133
@Singleton
109134
@Kakao
@@ -141,34 +166,6 @@ object NetworkModule {
141166
fun provideAuthInterceptor(tokenProvider: TokenProvider): Interceptor =
142167
AuthInterceptor(tokenProvider)
143168

144-
@Provides
145-
@Singleton
146-
@Auth
147-
fun provideAuthOkHttpClient(
148-
httpLoggingInterceptor: HttpLoggingInterceptor,
149-
@Auth authInterceptor: Interceptor,
150-
tokenAuthenticator: TokenAuthenticator,
151-
): OkHttpClient = OkHttpClient.Builder()
152-
.addInterceptor(authInterceptor)
153-
.addInterceptor(httpLoggingInterceptor)
154-
.authenticator(tokenAuthenticator)
155-
.connectTimeout(10L, TimeUnit.SECONDS)
156-
.writeTimeout(30L, TimeUnit.SECONDS)
157-
.readTimeout(30L, TimeUnit.SECONDS)
158-
.build()
159-
160-
@Provides
161-
@Singleton
162-
@NoneAuth
163-
fun provideNoneAuthOkHttpClient(
164-
httpLoggingInterceptor: HttpLoggingInterceptor,
165-
): OkHttpClient = OkHttpClient.Builder()
166-
.addInterceptor(httpLoggingInterceptor)
167-
.connectTimeout(10L, TimeUnit.SECONDS)
168-
.writeTimeout(30L, TimeUnit.SECONDS)
169-
.readTimeout(30L, TimeUnit.SECONDS)
170-
.build()
171-
172169
@Provides
173170
@Singleton
174171
@Auth

0 commit comments

Comments
 (0)