모든 API 요청에 Accept-Language 헤더 추가
This commit is contained in:
@@ -142,6 +142,7 @@ import kr.co.vividnext.sodalive.mypage.service_center.FaqApi
|
||||
import kr.co.vividnext.sodalive.mypage.service_center.FaqRepository
|
||||
import kr.co.vividnext.sodalive.mypage.service_center.ServiceCenterViewModel
|
||||
import kr.co.vividnext.sodalive.network.TokenAuthenticator
|
||||
import kr.co.vividnext.sodalive.network.AcceptLanguageInterceptor
|
||||
import kr.co.vividnext.sodalive.report.ReportApi
|
||||
import kr.co.vividnext.sodalive.report.ReportRepository
|
||||
import kr.co.vividnext.sodalive.search.SearchApi
|
||||
@@ -202,6 +203,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
|
||||
|
||||
OkHttpClient().newBuilder()
|
||||
.addInterceptor(logging)
|
||||
.addInterceptor(get<AcceptLanguageInterceptor>())
|
||||
.authenticator(TokenAuthenticator(get()))
|
||||
.connectTimeout(60, TimeUnit.SECONDS)
|
||||
.readTimeout(60, TimeUnit.SECONDS)
|
||||
@@ -209,6 +211,8 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
|
||||
.build()
|
||||
}
|
||||
|
||||
single { AcceptLanguageInterceptor(get()) }
|
||||
|
||||
single {
|
||||
Retrofit.Builder()
|
||||
.baseUrl(baseUrl)
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package kr.co.vividnext.sodalive.network
|
||||
|
||||
import android.content.Context
|
||||
import kr.co.vividnext.sodalive.settings.language.LanguageManager
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.Response
|
||||
|
||||
class AcceptLanguageInterceptor(
|
||||
private val context: Context
|
||||
) : Interceptor {
|
||||
override fun intercept(chain: Interceptor.Chain): Response {
|
||||
val currentLang = LanguageManager.getEffectiveLanguage(context)
|
||||
val newRequest = chain.request().newBuilder()
|
||||
.header("Accept-Language", currentLang)
|
||||
.build()
|
||||
return chain.proceed(newRequest)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user