From a5be35a667fdb7c2f014dd4ada8fb4fe5bbe7f1f Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 7 Jun 2023 21:04:24 +0530 Subject: [PATCH] feat(core): manually wire in Sentry OkHttp integration --- core/build.gradle.kts | 2 ++ .../dev/msfjarvis/claw/core/injection/OkHttpModule.kt | 7 +++++++ gradle/libs.versions.toml | 1 + 3 files changed, 10 insertions(+) diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 6a3f9e08..ccd37a1b 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -22,8 +22,10 @@ dependencies { api(libs.okhttp.loggingInterceptor) implementation(platform(libs.okhttp.bom)) + implementation(platform(libs.sentry.bom)) implementation(libs.dagger) implementation(libs.napier) implementation(libs.okhttp.core) implementation(libs.retrofit.kotlinxSerializationConverter) + implementation(libs.sentry.okhttp) } diff --git a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/OkHttpModule.kt b/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/OkHttpModule.kt index 450a4188..142d4f23 100644 --- a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/OkHttpModule.kt +++ b/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/OkHttpModule.kt @@ -18,6 +18,7 @@ import dagger.multibindings.IntoSet import dev.msfjarvis.claw.core.network.DelegatingSocketFactory import dev.msfjarvis.claw.core.network.NapierLogger import dev.msfjarvis.claw.core.network.UserAgentInterceptor +import io.sentry.android.okhttp.SentryOkHttpInterceptor import java.net.Socket import javax.net.SocketFactory import okhttp3.Cache @@ -87,5 +88,11 @@ interface OkHttpModule { fun provideHttpLoggingInterceptor(logger: HttpLoggingInterceptor.Logger): Interceptor { return HttpLoggingInterceptor(logger).setLevel(HttpLoggingInterceptor.Level.BASIC) } + + @Provides + @IntoSet + fun provideSentryInterceptor(): Interceptor { + return SentryOkHttpInterceptor() + } } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2a490b47..32cbf448 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -84,6 +84,7 @@ okhttp-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver" } retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" } retrofit-kotlinxSerializationConverter = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0" sentry-bom = { module = "io.sentry:sentry-bom", version.ref = "sentry-sdk" } +sentry-okhttp = { module = "io.sentry:sentry-android-okhttp", version.ref = "sentry-sdk" } slack-compose-lints = "com.slack.lint.compose:compose-lint-checks:1.2.0" sqldelight-androidDriver = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } sqldelight-extensions-coroutines = { module = "app.cash.sqldelight:coroutines-extensions-jvm", version.ref = "sqldelight" }