Updated on 2026-08-14
This commit is contained in:
parent
5006ccd343
commit
f4755463b0
9 changed files with 42 additions and 19 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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" },
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue