모든 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.FaqRepository
|
||||||
import kr.co.vividnext.sodalive.mypage.service_center.ServiceCenterViewModel
|
import kr.co.vividnext.sodalive.mypage.service_center.ServiceCenterViewModel
|
||||||
import kr.co.vividnext.sodalive.network.TokenAuthenticator
|
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.ReportApi
|
||||||
import kr.co.vividnext.sodalive.report.ReportRepository
|
import kr.co.vividnext.sodalive.report.ReportRepository
|
||||||
import kr.co.vividnext.sodalive.search.SearchApi
|
import kr.co.vividnext.sodalive.search.SearchApi
|
||||||
@@ -202,6 +203,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
|
|||||||
|
|
||||||
OkHttpClient().newBuilder()
|
OkHttpClient().newBuilder()
|
||||||
.addInterceptor(logging)
|
.addInterceptor(logging)
|
||||||
|
.addInterceptor(get<AcceptLanguageInterceptor>())
|
||||||
.authenticator(TokenAuthenticator(get()))
|
.authenticator(TokenAuthenticator(get()))
|
||||||
.connectTimeout(60, TimeUnit.SECONDS)
|
.connectTimeout(60, TimeUnit.SECONDS)
|
||||||
.readTimeout(60, TimeUnit.SECONDS)
|
.readTimeout(60, TimeUnit.SECONDS)
|
||||||
@@ -209,6 +211,8 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
|
|||||||
.build()
|
.build()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
single { AcceptLanguageInterceptor(get()) }
|
||||||
|
|
||||||
single {
|
single {
|
||||||
Retrofit.Builder()
|
Retrofit.Builder()
|
||||||
.baseUrl(baseUrl)
|
.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