Updated on 2026-08-14

This commit is contained in:
Tangem 2024-10-08 17:40:19 +04:00
parent 5006ccd343
commit f4755463b0
9 changed files with 42 additions and 19 deletions

View file

@ -46,7 +46,9 @@ internal class SwitchEnvironmentInterceptor(
private fun Request.Builder.addHeaders(headers: Map<String, Provider<String>>): Request.Builder {
headers.forEach { (name, valueProvider) ->
addHeader(name = name, value = valueProvider())
val value = valueProvider()
if (value.isNotBlank()) addHeader(name = name, value = value)
}
return this

View file

@ -51,6 +51,7 @@ internal class Express(
put(key = "user-id", value = Provider(expressAuthProvider::getUserId))
put(key = "session-id", value = Provider(expressAuthProvider::getSessionId))
putAll(from = RequestHeader.AppVersionPlatformHeaders(appVersionProvider).values)
put(key = "refcode", value = Provider(expressAuthProvider::getRefCode))
}
private fun getApiKey(isProd: Boolean): String {

View file

@ -5,7 +5,10 @@ import com.tangem.datasource.api.express.models.request.AssetsRequestBody
import com.tangem.datasource.api.express.models.request.ExchangeSentRequestBody
import com.tangem.datasource.api.express.models.request.PairsRequestBody
import com.tangem.datasource.api.express.models.response.*
import retrofit2.http.*
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.Query
/**
* Interface of Tangem Express API (new swap mechanism)
@ -33,7 +36,6 @@ interface TangemExpressApi {
@Query("toDecimals") toDecimals: Int,
@Query("providerId") providerId: String,
@Query("rateType") rateType: String,
@Header("refcode") refCode: String? = null,
): ApiResponse<ExchangeQuoteResponse>
@GET("exchange-data")

View file

@ -44,6 +44,7 @@ internal class ProdApiConfigsManagerTest(private val model: Model) {
every { appVersionProvider.versionName } returns VERSION_NAME
every { expressAuthProvider.getUserId() } returns EXPRESS_USER_ID
every { expressAuthProvider.getSessionId() } returns EXPRESS_SESSION_ID
every { expressAuthProvider.getRefCode() } returns EXPRESS_REF_CODE
every { stakeKitAuthProvider.getApiKey() } returns STAKE_KIT_API_KEY
}
@ -65,6 +66,7 @@ internal class ProdApiConfigsManagerTest(private val model: Model) {
const val VERSION_NAME = "debug"
const val EXPRESS_USER_ID = "express_user_id"
const val EXPRESS_SESSION_ID = "express_session_id"
const val EXPRESS_REF_CODE = "express_ref_code"
const val EXPRESS_API_KEY = "express_api_key"
const val EXPRESS_DEV_API_KEY = "express_dev_api_key"
const val STAKE_KIT_API_KEY = "stake_kit_api_key"
@ -111,6 +113,7 @@ internal class ProdApiConfigsManagerTest(private val model: Model) {
},
"user-id" to Provider { EXPRESS_USER_ID },
"session-id" to Provider { EXPRESS_SESSION_ID },
"refcode" to Provider { EXPRESS_REF_CODE },
"version" to Provider { VERSION_NAME },
"platform" to Provider { "android" },
),