From 089cbe27495b6b9670d703f2f0375bd9620c3b1b Mon Sep 17 00:00:00 2001 From: dongchyeon Date: Tue, 18 Jun 2024 14:11:39 +0900 Subject: [PATCH] =?UTF-8?q?Chore=20:=20Okhttp3=20=EC=82=AC=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/network/build.gradle.kts | 2 ++ .../newsbriefing/app/core/network/di/RetrofitModule.kt | 9 +++++++++ .../app/core/network/util/AuthInterceptor.kt | 9 ++++----- gradle/libs.versions.toml | 6 +++++- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/core/network/build.gradle.kts b/core/network/build.gradle.kts index 3105b47..9c40f28 100644 --- a/core/network/build.gradle.kts +++ b/core/network/build.gradle.kts @@ -15,4 +15,6 @@ dependencies { implementation(libs.retrofit.core) implementation(libs.retrofit.converter.gson) + implementation(libs.okhttp3.okhttp) + implementation(libs.okhttp3.logging.interceptor) } \ No newline at end of file diff --git a/core/network/src/main/java/store/newsbriefing/app/core/network/di/RetrofitModule.kt b/core/network/src/main/java/store/newsbriefing/app/core/network/di/RetrofitModule.kt index a0d8527..e9a7407 100644 --- a/core/network/src/main/java/store/newsbriefing/app/core/network/di/RetrofitModule.kt +++ b/core/network/src/main/java/store/newsbriefing/app/core/network/di/RetrofitModule.kt @@ -7,6 +7,7 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import okhttp3.OkHttpClient +import okhttp3.logging.HttpLoggingInterceptor import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory import store.newsbriefing.app.core.common.BuildConfig @@ -29,6 +30,14 @@ object RetrofitModule { @Singleton fun provideOkHttpClient(authInterceptor: AuthInterceptor): OkHttpClient { return OkHttpClient.Builder() + .addNetworkInterceptor( + HttpLoggingInterceptor() + .apply { + if (BuildConfig.DEBUG) { + setLevel(HttpLoggingInterceptor.Level.BODY) + } + } + ) .addInterceptor(authInterceptor) .build() } diff --git a/core/network/src/main/java/store/newsbriefing/app/core/network/util/AuthInterceptor.kt b/core/network/src/main/java/store/newsbriefing/app/core/network/util/AuthInterceptor.kt index cd20624..bd5e725 100644 --- a/core/network/src/main/java/store/newsbriefing/app/core/network/util/AuthInterceptor.kt +++ b/core/network/src/main/java/store/newsbriefing/app/core/network/util/AuthInterceptor.kt @@ -9,7 +9,6 @@ import okhttp3.Response import store.newsbriefing.app.core.common.util.BriefingLogger import store.newsbriefing.app.core.datastore.datasource.UserAuthTokenDataSource import store.newsbriefing.app.core.network.datasource.MemberNetworkDataSource -import java.util.logging.Logger import javax.inject.Inject class AuthInterceptor @Inject constructor( @@ -35,22 +34,22 @@ class AuthInterceptor @Inject constructor( }.build() ) - if (response.code() == 200 || response.code() == 201) { + if (response.code == 200 || response.code == 201) { BriefingLogger.d( - "response code : ${response.code()} ${ + "response code : ${response.code} ${ response.peekBody(2048).string() }" ) } else { BriefingLogger.e( - "response code : ${response.code()} ${ + "response code : ${response.code} ${ response.peekBody(2048).string() }" ) } - if (response.code() == 401 && token != null) { + if (response.code == 401 && token != null) { val responseBodyString = response.peekBody(2048).string() val jsonObject = gson.fromJson(responseBodyString, JsonObject::class.java) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0cb3c52..5c96c9c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,7 @@ kotlinxCoroutinesAndroid = "1.8.0" lifecycle-runtime-ktx = "2.8.1" activity-compose = "1.9.0" hilt = "2.51" -compose-bom = "2024.05.00" +compose-bom = "2024.04.01" androidxComposeCompiler = "1.5.7" androidxHiltNavigationCompose = "1.2.0" androidxLifecycle = "2.8.1" @@ -19,6 +19,7 @@ ksp = "1.9.21-1.0.16" androidxAppCompat = "1.7.0" androidxActivity = "1.9.0" retrofit = "2.9.0" +okhttp3 = "5.0.0-alpha.11" material = "1.11.0" secretsGradlePlugin = "2.0.1" googleid = "1.1.0" @@ -77,6 +78,9 @@ hilt-navigation-compose = { group = "androidx.hilt", name = "hilt-navigation-com retrofit-core = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } retrofit-converter-gson = { group = "com.squareup.retrofit2", name = "converter-gson", version.ref = "retrofit" } +okhttp3-okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp3" } +okhttp3-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp3" } + datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref= "datastore" } javax-inject = { module = "javax.inject:javax.inject", version = "1" }