mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 15:17:05 +05:30
android: override user agent header
This commit is contained in:
parent
79114bac9f
commit
845a73b403
3 changed files with 34 additions and 6 deletions
|
@ -8,8 +8,9 @@ import dagger.Provides
|
|||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import dev.msfjarvis.claw.android.interceptors.NapierLoggingInterceptor
|
||||
import dev.msfjarvis.claw.android.interceptors.UserAgentInterceptor
|
||||
import dev.msfjarvis.claw.api.LobstersApi
|
||||
import io.github.aakira.napier.Napier
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.json.Json
|
||||
import okhttp3.Cache
|
||||
|
@ -32,11 +33,8 @@ object ApiModule {
|
|||
fun provideClient(cache: Lazy<Cache>): OkHttpClient {
|
||||
return OkHttpClient.Builder()
|
||||
.cache(cache.get())
|
||||
.addNetworkInterceptor { chain ->
|
||||
val request = chain.request()
|
||||
Napier.d(tag = "LobstersApi") { "${request.method}: ${request.url}" }
|
||||
chain.proceed(request)
|
||||
}
|
||||
.addNetworkInterceptor(UserAgentInterceptor())
|
||||
.addNetworkInterceptor(NapierLoggingInterceptor())
|
||||
.build()
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package dev.msfjarvis.claw.android.interceptors
|
||||
|
||||
import io.github.aakira.napier.Napier
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.Response
|
||||
|
||||
class NapierLoggingInterceptor : Interceptor {
|
||||
override fun intercept(chain: Interceptor.Chain): Response {
|
||||
val request = chain.request()
|
||||
Napier.d(tag = "LobstersApi") { "${request.method}: ${request.url}" }
|
||||
return chain.proceed(request)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package dev.msfjarvis.claw.android.interceptors
|
||||
|
||||
import dev.msfjarvis.claw.android.BuildConfig
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.Response
|
||||
|
||||
class UserAgentInterceptor : Interceptor {
|
||||
override fun intercept(chain: Interceptor.Chain): Response {
|
||||
return chain.proceed(
|
||||
chain
|
||||
.request()
|
||||
.newBuilder()
|
||||
.header("User-Agent", "Claw-Android/${BuildConfig.VERSION_NAME}/msfjarvis")
|
||||
.build()
|
||||
)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue