NTP-7163 | App OE - Added api retry for entire app (#14672)
This commit is contained in:
@@ -10,6 +10,7 @@ package com.naviapp.network.retrofit
|
||||
import android.content.Context
|
||||
import com.chuckerteam.chucker.api.ChuckerCollector
|
||||
import com.chuckerteam.chucker.api.ChuckerInterceptor
|
||||
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.HP_RETRY_INTERCEPTOR_ENABLED
|
||||
import com.navi.common.model.NetworkInfo
|
||||
import com.navi.common.network.BaseHttpClient
|
||||
import com.navi.common.network.retry.interceptor.RetryInterceptor
|
||||
@@ -24,8 +25,8 @@ class NaviHttpClient(networkInfo: NetworkInfo, context: Context) :
|
||||
val httpClientBuilder: OkHttpClient.Builder
|
||||
get() {
|
||||
val okHttpClientBuilder = baseHttpClientBuilder
|
||||
if (BuildConfig.DEBUG) {
|
||||
with(okHttpClientBuilder) {
|
||||
with(okHttpClientBuilder) {
|
||||
if (BuildConfig.DEBUG) {
|
||||
addInterceptor(loggingInterceptor())
|
||||
addInterceptor(
|
||||
ChuckerInterceptor.Builder(NaviApplication.instance.applicationContext)
|
||||
@@ -37,9 +38,9 @@ class NaviHttpClient(networkInfo: NetworkInfo, context: Context) :
|
||||
.alwaysReadResponseBody(false)
|
||||
.build()
|
||||
)
|
||||
if (isRetryInterceptorEnabled()) {
|
||||
addInterceptor(RetryInterceptor())
|
||||
}
|
||||
}
|
||||
if (isRetryInterceptorEnabled(HP_RETRY_INTERCEPTOR_ENABLED)) {
|
||||
addInterceptor(RetryInterceptor())
|
||||
}
|
||||
}
|
||||
return okHttpClientBuilder
|
||||
|
||||
@@ -109,11 +109,6 @@ import com.naviapp.payment.models.TransactionDetail
|
||||
import com.naviapp.screenOverlay.model.OverlayItemsStateUpdates
|
||||
import com.naviapp.screenOverlay.model.OverlayScreenStructure
|
||||
import com.naviapp.screenOverlay.model.ScreenOverlayActionUpdateRequest
|
||||
import java.net.ConnectException
|
||||
import java.net.SocketTimeoutException
|
||||
import java.net.UnknownHostException
|
||||
import javax.net.ssl.SSLHandshakeException
|
||||
import javax.net.ssl.SSLPeerUnverifiedException
|
||||
import okhttp3.RequestBody
|
||||
import retrofit2.Response
|
||||
import retrofit2.http.Body
|
||||
@@ -143,6 +138,7 @@ interface RetrofitService {
|
||||
@Header(HEADER_X_TENANT_ID) tenantId: String,
|
||||
): Response<GenericResponse<LoginOtpVerifyResponse>>
|
||||
|
||||
@RetryPolicy
|
||||
@POST("/login-service/v1/login")
|
||||
suspend fun userLogin(
|
||||
@Body loginRequest: UserLoginRequest,
|
||||
@@ -202,7 +198,9 @@ interface RetrofitService {
|
||||
@Query("subProduct") subProduct: String? = null,
|
||||
): Response<GenericResponse<List<GroupFaq>>>
|
||||
|
||||
@POST("/auth/v1/logout") suspend fun logout(): Response<GenericResponse<SuccessResponse>>
|
||||
@RetryPolicy
|
||||
@POST("/auth/v1/logout")
|
||||
suspend fun logout(): Response<GenericResponse<SuccessResponse>>
|
||||
|
||||
@GET("/login-settings")
|
||||
suspend fun fetchLoginSettings(): Response<GenericResponse<LoginSettings>>
|
||||
@@ -505,6 +503,7 @@ interface RetrofitService {
|
||||
@Body deviceDetail: DeviceDetail,
|
||||
): Response<GenericResponse<com.navi.common.network.models.SuccessResponse>>
|
||||
|
||||
@RetryPolicy
|
||||
@GET("/forge/screen/{screenId}")
|
||||
suspend fun fetchForgeScreen(
|
||||
@Header(X_IS_SCREEN_LOCK_ENABLED) isScreenLockEnabled: Boolean? = null,
|
||||
@@ -533,6 +532,7 @@ interface RetrofitService {
|
||||
@Body request: AlchemistScreenRequest?,
|
||||
): Response<GenericResponse<AlchemistScreenDefinition>>
|
||||
|
||||
@RetryPolicy
|
||||
@GET("/forge/screen/{screenId}")
|
||||
suspend fun fetchNotificationForgeScreen(
|
||||
@Header("Accept-Encoding") acceptEncoding: String,
|
||||
@@ -546,17 +546,7 @@ interface RetrofitService {
|
||||
@Body notificationStatusRequest: List<NotificationUpdateStatus>,
|
||||
): Response<GenericResponse<Unit>>
|
||||
|
||||
@RetryPolicy(
|
||||
retryCount = 3,
|
||||
retryOn =
|
||||
[
|
||||
SocketTimeoutException::class,
|
||||
UnknownHostException::class,
|
||||
ConnectException::class,
|
||||
SSLHandshakeException::class,
|
||||
SSLPeerUnverifiedException::class,
|
||||
],
|
||||
)
|
||||
@RetryPolicy
|
||||
@GET("/forge/screen/{screenId}")
|
||||
suspend fun fetchInsuranceTabForgeScreen(
|
||||
@Header("Accept-Encoding") acceptEncoding: String,
|
||||
@@ -564,6 +554,7 @@ interface RetrofitService {
|
||||
@Path("screenId") screenId: String,
|
||||
): Response<GenericResponse<InsuranceTabResponse>>
|
||||
|
||||
@RetryPolicy
|
||||
@GET("/forge/screen/{screenId}")
|
||||
suspend fun fetchTrialDashboardForgeScreen(
|
||||
@Header("Accept-Encoding") acceptEncoding: String,
|
||||
@@ -577,6 +568,7 @@ interface RetrofitService {
|
||||
@QueryMap queryMap: Map<String, String>,
|
||||
): Response<Any>
|
||||
|
||||
@RetryPolicy
|
||||
@GET("/forge/screen/{screenId}")
|
||||
suspend fun fetchLendingPermissionScreenResponse(
|
||||
@Header("Accept-Encoding") acceptEncoding: String,
|
||||
@@ -610,7 +602,7 @@ interface RetrofitService {
|
||||
): Response<GenericResponse<ActionData>>
|
||||
|
||||
@GET("/alchemist/inflate/v2/{screenId}")
|
||||
@RetryPolicy(retryCount = 3)
|
||||
@RetryPolicy
|
||||
suspend fun fetchInvestmentTabScreenResponse(
|
||||
@Header("Accept-Encoding") acceptEncoding: String,
|
||||
@Header("X-Target") target: String,
|
||||
@@ -628,7 +620,7 @@ interface RetrofitService {
|
||||
@Header(HEADER_X_PLATFORM) platform: String = Constants.OS_ANDROID,
|
||||
): Response<GenericResponse<OverlayScreenStructure>>
|
||||
|
||||
@RetryPolicy(retryCount = 3)
|
||||
@RetryPolicy
|
||||
@PATCH("/nudge/state")
|
||||
suspend fun updateScreenOverlayElementState(
|
||||
@Body request: OverlayItemsStateUpdates
|
||||
|
||||
Reference in New Issue
Block a user