class UserAgentInterceptor @Inject(
@ApplicationContext private val context: Context,
) : Interceptor {
private val userAgent: String =
"${context.packageManager.getApplicationLabel(context.applicationInfo)}/" +
"${VERSION_NAME} " +
"(${context.packageName}; " +
"build:${VERSION_CODE} " +
"Android SDK ${Build.VERSION.SDK_INT}) " +
"${Build.BRAND} ${Build.MODEL}"
override fun intercept(chain: Interceptor.Chain): Response {
val requestWithUserAgent = chain.request().newBuilder()
.header(USER_AGENT, userAgent)
.build()
return chain.proceed(requestWithUserAgent)
}
companion object {
private const val USER_AGENT = "User-Agent"
}
}