From 54d8ce26bf73754aa85931d910c515ebfe7b22cd Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 28 Jun 2023 14:21:48 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/datasource/di/NetworkModule.kt | 6 ++---- .../tangem/datasource/utils/HttpClientExt.kt | 14 -------------- .../tangem/datasource/utils/RequestHeader.kt | 18 ++++-------------- .../domain/redux/global/DomainGlobalHub.kt | 1 + 4 files changed, 7 insertions(+), 32 deletions(-) diff --git a/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt b/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt index 87e05a62fb..c8ae82faa9 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt @@ -4,10 +4,8 @@ import com.squareup.moshi.Moshi import com.tangem.datasource.api.paymentology.PaymentologyApi import com.tangem.datasource.api.promotion.PromotionApi import com.tangem.datasource.api.tangemTech.TangemTechApi -import com.tangem.datasource.utils.LazyRequestHeader import com.tangem.datasource.utils.RequestHeader.* import com.tangem.datasource.utils.addHeaders -import com.tangem.datasource.utils.addLazyHeaders import com.tangem.datasource.utils.allowLogging import com.tangem.lib.auth.AuthProvider import com.tangem.lib.auth.BuildConfig @@ -65,8 +63,8 @@ class NetworkModule { @PromotionOneInch fun providePromotionOneInchApi(authProvider: AuthProvider, @NetworkMoshi moshi: Moshi): PromotionApi { val okClient = OkHttpClient.Builder() - .addLazyHeaders( - LazyRequestHeader.LazyAuthenticationHeader(authProvider), + .addHeaders( + AuthenticationHeader(authProvider), ) .allowLogging() .callTimeout(API_ONE_INCH_TIMEOUT_MS, TimeUnit.MILLISECONDS) diff --git a/core/datasource/src/main/java/com/tangem/datasource/utils/HttpClientExt.kt b/core/datasource/src/main/java/com/tangem/datasource/utils/HttpClientExt.kt index db1c1f0e13..4fd16a0d1d 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/utils/HttpClientExt.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/utils/HttpClientExt.kt @@ -13,20 +13,6 @@ internal fun OkHttpClient.Builder.addHeaders(vararg requestHeaders: RequestHeade val request = chain.request().newBuilder().apply { requestHeaders .flatMap(RequestHeader::values) - .forEach { addHeader(it.first, it.second) } - }.build() - - chain.proceed(request) - }, - ) -} - -internal fun OkHttpClient.Builder.addLazyHeaders(vararg requestHeaders: LazyRequestHeader): OkHttpClient.Builder { - return addInterceptor( - Interceptor { chain -> - val request = chain.request().newBuilder().apply { - requestHeaders - .flatMap(LazyRequestHeader::values) .forEach { addHeader(it.first, it.second.invoke()) } }.build() diff --git a/core/datasource/src/main/java/com/tangem/datasource/utils/RequestHeader.kt b/core/datasource/src/main/java/com/tangem/datasource/utils/RequestHeader.kt index cb19ed1fd4..5e5067746f 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/utils/RequestHeader.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/utils/RequestHeader.kt @@ -7,24 +7,14 @@ import com.tangem.lib.auth.AuthProvider * * @param pairs header name and header value pairs */ -sealed class RequestHeader(vararg pairs: Pair) { +sealed class RequestHeader(vararg pairs: Pair String>) { /** Header list */ - val values: List> = pairs.toList() - - object CacheControlHeader : RequestHeader("Cache-Control" to "max-age=600") - - class AuthenticationHeader(authProvider: AuthProvider) : RequestHeader( - "card_id" to authProvider.getCardId(), - "card_public_key" to authProvider.getCardPublicKey(), - ) -} - -sealed class LazyRequestHeader(vararg pairs: Pair String>) { - val values: List String>> = pairs.toList() - class LazyAuthenticationHeader(authProvider: AuthProvider) : LazyRequestHeader( + object CacheControlHeader : RequestHeader("Cache-Control" to { "max-age=600" }) + + class AuthenticationHeader(authProvider: AuthProvider) : RequestHeader( "card_id" to { authProvider.getCardId() }, "card_public_key" to { authProvider.getCardPublicKey() }, ) diff --git a/domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalHub.kt b/domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalHub.kt index 37f01870cc..f22a14aa64 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalHub.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalHub.kt @@ -36,6 +36,7 @@ private class DomainGlobalReducer : ReStoreReducer { return when (action) { is DomainGlobalAction.SaveScanNoteResponse -> { val card = action.scanResponse.card + // TODO: AuthHeaders: try to remove it, because now we can use headers with dynamic values state.networkServices.tangemTechService.addAuthenticationHeader( RequestHeader.AuthenticationHeader( object : AuthProvider {