IT/Android
안드로이드 스튜디오 / koin - Retrofit에 로그 및 헤더 추가
은정21
2022. 3. 7. 12:24
반응형
//네이버 api
var retrofitNaverPart = module{
httpLoggingInterceptor.apply {
httpLoggingInterceptor.level = HttpLoggingInterceptor.Level.BODY
}
single<PapagoService>{
Retrofit.Builder()
.baseUrl("https://openapi.naver.com/")
.client(get<OkHttpClient>((named("retrofitNaverPart"))))
.addCallAdapterFactory(RxJava3CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(PapagoService::class.java)
}
single<OkHttpClient>(named("retrofitNaverPart")) {
OkHttpClient.Builder()
.connectTimeout(120, TimeUnit.SECONDS)
.readTimeout(120, TimeUnit.SECONDS)
.writeTimeout(120, TimeUnit.SECONDS)
.addInterceptor(httpLoggingInterceptor)
.addInterceptor { chain ->
val originalRequest = chain.request()
val builder = originalRequest.newBuilder()
.header("X-Naver-Client-Id","blah")
.header("X-Naver-Client-Secret","blah")
val newRequest = builder.build()
chain.proceed(newRequest)
}
.build()
}
}
.client(get<OkHttpClient>((named("retrofitNaverPart"))))
Retrofit single 부분에 .client로 okHttpClient 추가해주어야한다,,,,^^;