diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unauthenticated/appVersioning/AppVersioningApi.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unauthenticated/appVersioning/AppVersioningApi.kt index 48e3f688625f..880994222295 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unauthenticated/appVersioning/AppVersioningApi.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unauthenticated/appVersioning/AppVersioningApi.kt @@ -21,7 +21,7 @@ package com.wire.kalium.network.api.base.unauthenticated.appVersioning import com.wire.kalium.network.UnauthenticatedNetworkClient import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.setUrl -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.http.URLBuilder import io.ktor.http.Url @@ -37,7 +37,7 @@ class AppVersioningApiImpl internal constructor( private val httpClient get() = unauthenticatedNetworkClient.httpClient override suspend fun fetchAppVersionBlackList(blackListUrl: String): NetworkResponse { - return wrapKaliumResponse { + return wrapRequest { httpClient.get { val platformBlackListUrl = URLBuilder().apply { val url = Url(blackListUrl) diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unauthenticated/systemsettings/UnauthorizedSettingsApi.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unauthenticated/systemsettings/UnauthorizedSettingsApi.kt index 23f917a30b71..66073cacbfcd 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unauthenticated/systemsettings/UnauthorizedSettingsApi.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unauthenticated/systemsettings/UnauthorizedSettingsApi.kt @@ -21,7 +21,7 @@ package com.wire.kalium.network.api.base.unauthenticated.systemsettings import com.wire.kalium.network.UnauthenticatedNetworkClient import com.wire.kalium.network.api.unauthenticated.systemsettings.UnauthorizedSettingsResponse import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get interface UnauthorizedSettingsApi { @@ -34,7 +34,7 @@ class UnauthorizedSettingsApiImpl internal constructor( private val httpClient get() = unauthenticatedNetworkClient.httpClient - override suspend fun settings(): NetworkResponse = wrapKaliumResponse { + override suspend fun settings(): NetworkResponse = wrapRequest { httpClient.get(PATH) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/acme/ACMEApi.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/acme/ACMEApi.kt index 8e670f1f8990..536a859a5671 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/acme/ACMEApi.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/acme/ACMEApi.kt @@ -33,7 +33,7 @@ import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.flatMap import com.wire.kalium.network.utils.handleUnsuccessfulResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.call.body import io.ktor.client.request.accept import io.ktor.client.request.get @@ -90,7 +90,7 @@ class ACMEApiImpl internal constructor( ) } - return wrapKaliumResponse { + return wrapRequest { httpClient.get("$protocolWithAuthority/$PATH_ACME_ROOTS_PEM") } @@ -101,7 +101,7 @@ class ACMEApiImpl internal constructor( return NetworkResponse.Error(KaliumException.GenericError(IllegalArgumentException("getACMEDirectories: Url cannot be empty"))) } - return wrapKaliumResponse { + return wrapRequest { httpClient.get(discoveryUrl) } } @@ -159,7 +159,7 @@ class ACMEApiImpl internal constructor( ) } - return wrapKaliumResponse { + return wrapRequest { httpClient.post(url) { contentType(ContentType.Application.JoseJson) setBody(body) @@ -222,7 +222,7 @@ class ACMEApiImpl internal constructor( ) } - return wrapKaliumResponse { + return wrapRequest { httpClient.post(url) { contentType(ContentType.Application.JoseJson) setBody(body) @@ -260,7 +260,7 @@ class ACMEApiImpl internal constructor( ) } - return wrapKaliumResponse { + return wrapRequest { httpClient.get("$protocolWithAuthority/$PATH_ACME_FEDERATION") }.mapSuccess { it.certificates } } @@ -274,7 +274,7 @@ class ACMEApiImpl internal constructor( ) } - return wrapKaliumResponse { + return wrapRequest { val crlUrlBuilder: URLBuilder = URLBuilder(url) val proxyUrlBuilder: URLBuilder? = if (proxyUrl.isNullOrEmpty()) null else URLBuilder(proxyUrl) diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/configuration/ServerConfigApi.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/configuration/ServerConfigApi.kt index 890d90adfc80..5c274b9d1cb6 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/configuration/ServerConfigApi.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/configuration/ServerConfigApi.kt @@ -28,7 +28,7 @@ import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.flatMap import com.wire.kalium.network.utils.mapSuccess import com.wire.kalium.network.utils.setUrl -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.HttpClient import io.ktor.client.request.accept import io.ktor.client.request.get @@ -57,7 +57,7 @@ class ServerConfigApiImpl internal constructor( * @param serverConfigUrl the remote config url */ override suspend fun fetchServerConfig(serverConfigUrl: String): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get { accept(ContentType.Text.Plain) setUrl(Url(serverConfigUrl)) diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/versioning/VersionApi.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/versioning/VersionApi.kt index a23c87ebbc0a..a73cc338af3d 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/versioning/VersionApi.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/base/unbound/versioning/VersionApi.kt @@ -27,7 +27,7 @@ import com.wire.kalium.network.api.unbound.versioning.VersionInfoDTO import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess import com.wire.kalium.network.utils.setUrl -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.HttpClient import io.ktor.client.request.get import io.ktor.http.HttpStatusCode @@ -53,18 +53,19 @@ class VersionApiImpl internal constructor( developmentApiEnabled = developmentApiEnabled ) - override suspend fun fetchApiVersion(baseApiUrl: Url): NetworkResponse = wrapKaliumResponse({ - if (it.status != HttpStatusCode.NotFound) null - else { - NetworkResponse.Success(VersionInfoDTO(), it) + override suspend fun fetchApiVersion(baseApiUrl: Url): NetworkResponse = + wrapRequest(customErrorInterceptor = { + if (it.status != HttpStatusCode.NotFound) null + else { + NetworkResponse.Success(VersionInfoDTO(), it) + } + }) { + httpClient.get { + setUrl(baseApiUrl, API_VERSION_PATH) + } + }.mapSuccess { + util.calculateApiVersion(it, developmentApiEnabled = developmentApiEnabled) } - }, { - httpClient.get { - setUrl(baseApiUrl, API_VERSION_PATH) - } - }).mapSuccess { - util.calculateApiVersion(it, developmentApiEnabled = developmentApiEnabled) - } private companion object { const val API_VERSION_PATH = "api-version" diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/AccessTokenApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/AccessTokenApiV0.kt index 12c356efdc69..9ca80d2bce4c 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/AccessTokenApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/AccessTokenApiV0.kt @@ -24,7 +24,7 @@ import com.wire.kalium.network.api.model.RefreshTokenDTO import com.wire.kalium.network.api.model.RefreshTokenProperties import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.flatMap -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.HttpClient import io.ktor.client.request.header import io.ktor.client.request.post @@ -32,7 +32,7 @@ import io.ktor.http.HttpHeaders internal open class AccessTokenApiV0(private val httpClient: HttpClient) : AccessTokenApi { override suspend fun getToken(refreshToken: String, clientId: String?): NetworkResponse> = - wrapKaliumResponse { + wrapRequest { httpClient.post(PATH_ACCESS) { header(HttpHeaders.Cookie, "${RefreshTokenProperties.COOKIE_NAME}=$refreshToken") } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/AssetApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/AssetApiV0.kt index 288327c9e9a6..7b82c6925376 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/AssetApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/AssetApiV0.kt @@ -26,7 +26,7 @@ import com.wire.kalium.network.exceptions.KaliumException import com.wire.kalium.network.kaliumLogger import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.handleUnsuccessfulResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.header @@ -126,7 +126,7 @@ internal open class AssetApiV0 internal constructor( encryptedDataSource: () -> Source, encryptedDataSize: Long ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post(PATH_PUBLIC_ASSETS_V3) { contentType(ContentType.MultiPart.Mixed) setBody( @@ -141,7 +141,7 @@ internal open class AssetApiV0 internal constructor( } override suspend fun deleteAsset(assetId: String, assetDomain: String?, assetToken: String?): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.delete(buildAssetsPath(assetId, assetDomain)) { assetToken?.let { header(HEADER_ASSET_TOKEN, it) } } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/CallApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/CallApiV0.kt index 68f1d0866e92..0a36028fffd1 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/CallApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/CallApiV0.kt @@ -22,7 +22,7 @@ import com.wire.kalium.network.AuthenticatedNetworkClient import com.wire.kalium.network.api.base.authenticated.CallApi import com.wire.kalium.network.tools.KtxSerializer import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.client.request.parameter import io.ktor.client.request.post @@ -36,14 +36,14 @@ internal open class CallApiV0 internal constructor(private val authenticatedNetw private val httpClient get() = authenticatedNetworkClient.httpClient override suspend fun getCallConfig(limit: Int?): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_CALLS/$PATH_CONFIG") { limit?.let { parameter(QUERY_KEY_LIMIT, it) } } } override suspend fun connectToSFT(url: String, data: String): NetworkResponse = - wrapKaliumResponse { + wrapRequest { url.let { URLBuilder(it).apply { protocol = URLProtocol.HTTPS diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ClientApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ClientApiV0.kt index 81c9ce23e513..aa108ebcac6d 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ClientApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ClientApiV0.kt @@ -35,7 +35,7 @@ import com.wire.kalium.network.api.model.QualifiedID import com.wire.kalium.network.api.model.UserId import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.delete import io.ktor.client.request.get import io.ktor.client.request.post @@ -50,14 +50,14 @@ internal open class ClientApiV0 internal constructor( protected val httpClient get() = authenticatedNetworkClient.httpClient override suspend fun registerClient(registerClientRequest: RegisterClientRequest): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post(PATH_CLIENTS) { setBody(apiModelMapper.toApiV0ToV8(registerClientRequest)) } } override suspend fun listClientsOfUsers(userIds: List): NetworkResponse>> = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_USERS/$PATH_LIST_CLIENTS/v2") { setBody(ListClientsOfUsersRequest(userIds)) } @@ -72,23 +72,23 @@ internal open class ClientApiV0 internal constructor( } override suspend fun fetchSelfUserClient(): NetworkResponse> = - wrapKaliumResponse { httpClient.get(PATH_CLIENTS) } + wrapRequest { httpClient.get(PATH_CLIENTS) } override suspend fun deleteClient(password: String?, clientID: String) = - wrapKaliumResponse { + wrapRequest { httpClient.delete("$PATH_CLIENTS/$clientID") { setBody(PasswordRequest(password)) } } override suspend fun fetchClientInfo(clientID: String): NetworkResponse = - wrapKaliumResponse { httpClient.get("$PATH_CLIENTS/$clientID") } + wrapRequest { httpClient.get("$PATH_CLIENTS/$clientID") } override suspend fun updateClientMlsPublicKeys( updateClientMlsPublicKeysRequest: UpdateClientMlsPublicKeysRequest, clientID: String ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.put("$PATH_CLIENTS/$clientID") { setBody(updateClientMlsPublicKeysRequest) } @@ -97,20 +97,20 @@ internal open class ClientApiV0 internal constructor( override suspend fun updateClientCapabilities( updateClientCapabilitiesRequest: UpdateClientCapabilitiesRequest, clientID: String - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.put("$PATH_CLIENTS/$clientID") { setBody(updateClientCapabilitiesRequest) } } override suspend fun registerToken(body: PushTokenBody): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post(PUSH_TOKEN) { setBody(body) } } - override suspend fun deregisterToken(pid: String): NetworkResponse = wrapKaliumResponse { + override suspend fun deregisterToken(pid: String): NetworkResponse = wrapRequest { httpClient.delete("$PUSH_TOKEN/$pid") } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ConnectionApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ConnectionApiV0.kt index bd79cdc2fe55..638e23892810 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ConnectionApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ConnectionApiV0.kt @@ -27,7 +27,7 @@ import com.wire.kalium.network.api.authenticated.connection.UpdateConnectionRequ import com.wire.kalium.network.api.model.PaginationRequest import com.wire.kalium.network.api.model.UserId import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.client.request.post import io.ktor.client.request.put @@ -39,25 +39,25 @@ internal open class ConnectionApiV0 internal constructor(private val authenticat protected val httpClient get() = authenticatedNetworkClient.httpClient override suspend fun fetchSelfUserConnections(pagingState: String?): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post(PATH_CONNECTIONS) { setBody(PaginationRequest(pagingState = pagingState, size = MAX_CONNECTIONS_COUNT)) } } override suspend fun createConnection(userId: UserId): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_CONNECTIONS_ENDPOINTS/${userId.domain}/${userId.value}") } override suspend fun updateConnection(userId: UserId, connectionStatus: ConnectionStateDTO): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.put("$PATH_CONNECTIONS_ENDPOINTS/${userId.domain}/${userId.value}") { setBody(UpdateConnectionRequest(connectionStatus)) } } - override suspend fun userConnectionInfo(userId: UserId): NetworkResponse = wrapKaliumResponse { + override suspend fun userConnectionInfo(userId: UserId): NetworkResponse = wrapRequest { httpClient.get("$PATH_CONNECTIONS_ENDPOINTS/${userId.domain}/${userId.value}") } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ConversationApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ConversationApiV0.kt index 8f4429469bf5..ae7fc9b74a17 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ConversationApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/ConversationApiV0.kt @@ -60,7 +60,6 @@ import com.wire.kalium.network.exceptions.APINotSupported import com.wire.kalium.network.exceptions.KaliumException import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.call.body import io.ktor.client.request.delete @@ -84,7 +83,7 @@ internal open class ConversationApiV0 internal constructor( override suspend fun fetchConversationsIds( pagingState: String? ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_CONVERSATIONS/$PATH_LIST_IDS") { setBody(PaginationRequest(pagingState = pagingState, size = MAX_CONVERSATION_DETAILS_COUNT)) } @@ -93,7 +92,7 @@ internal open class ConversationApiV0 internal constructor( override suspend fun fetchConversationsListDetails( conversationsIds: List ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_CONVERSATIONS/$PATH_CONVERSATIONS_LIST/$PATH_V2") { setBody(ConversationsDetailsRequest(conversationsIds = conversationsIds)) } @@ -102,7 +101,7 @@ internal open class ConversationApiV0 internal constructor( override suspend fun fetchConversationDetails( conversationId: ConversationId ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get( "$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}" ) @@ -113,7 +112,7 @@ internal open class ConversationApiV0 internal constructor( */ override suspend fun createNewConversation( createConversationRequest: CreateConversationRequest - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.post(PATH_CONVERSATIONS) { setBody(createConversationRequest) } @@ -157,11 +156,11 @@ internal open class ConversationApiV0 internal constructor( "$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}/$PATH_MEMBERS/${userId.domain}/${userId.value}" ).let { response -> when (response.status) { - HttpStatusCode.OK -> wrapKaliumResponse { response } + HttpStatusCode.OK -> wrapRequest { response } .mapSuccess { ConversationMemberRemovedResponse.Changed(it) } HttpStatusCode.NoContent -> NetworkResponse.Success(ConversationMemberRemovedResponse.Unchanged, response) - else -> wrapKaliumResponse { response } + else -> wrapRequest { response } } } } catch (e: IOException) { @@ -171,7 +170,7 @@ internal open class ConversationApiV0 internal constructor( override suspend fun updateConversationMemberState( memberUpdateRequest: MemberUpdateDTO, conversationId: ConversationId, - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.put( "$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}/$PATH_SELF" ) { @@ -188,7 +187,7 @@ internal open class ConversationApiV0 internal constructor( }.let { httpResponse -> when (httpResponse.status) { HttpStatusCode.NoContent -> NetworkResponse.Success(UpdateConversationAccessResponse.AccessUnchanged, httpResponse) - else -> wrapKaliumResponse { httpResponse } + else -> wrapRequest { httpResponse } .mapSuccess { UpdateConversationAccessResponse.AccessUpdated(it) } @@ -202,7 +201,7 @@ internal open class ConversationApiV0 internal constructor( conversationId: ConversationId, userId: UserId, conversationMemberRoleDTO: ConversationMemberRoleDTO - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.put( "$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}/$PATH_MEMBERS/${userId.domain}/${userId.value}" ) { @@ -220,11 +219,11 @@ internal open class ConversationApiV0 internal constructor( setBody(ConversationRenameRequest(conversationName)) }.let { response -> when (response.status) { - HttpStatusCode.OK -> wrapKaliumResponse { response } + HttpStatusCode.OK -> wrapRequest { response } .mapSuccess { ConversationRenameResponse.Changed(it) } HttpStatusCode.NoContent -> NetworkResponse.Success(ConversationRenameResponse.Unchanged, response) - else -> wrapKaliumResponse { response } + else -> wrapRequest { response } } } } catch (e: IOException) { @@ -255,7 +254,7 @@ internal open class ConversationApiV0 internal constructor( } override suspend fun fetchLimitedInformationViaCode(code: String, key: String): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_CONVERSATIONS/$PATH_JOIN") { parameter(QUERY_KEY_CODE, code) parameter(QUERY_KEY_KEY, key) @@ -308,12 +307,12 @@ internal open class ConversationApiV0 internal constructor( } HttpStatusCode.Created -> { - wrapKaliumResponse { httpResponse } + wrapRequest { httpResponse } .mapSuccess { ServiceAddedResponse.Changed(it.event) } } else -> { - wrapKaliumResponse { httpResponse } + wrapRequest { httpResponse } } } @@ -330,7 +329,7 @@ internal open class ConversationApiV0 internal constructor( httpResponse ) - else -> wrapKaliumResponse { httpResponse } + else -> wrapRequest { httpResponse } .mapSuccess { UpdateConversationReceiptModeResponse.ReceiptModeUpdated(it) } @@ -349,12 +348,12 @@ internal open class ConversationApiV0 internal constructor( APINotSupported("V0->3: generateGuestRoomLink with password api is only available on API V4") ) } else { - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_CONVERSATIONS/${conversationId.value}/$PATH_CODE") } } - override suspend fun revokeGuestRoomLink(conversationId: ConversationId): NetworkResponse = wrapKaliumResponse { + override suspend fun revokeGuestRoomLink(conversationId: ConversationId): NetworkResponse = wrapRequest { httpClient.delete("$PATH_CONVERSATIONS/${conversationId.value}/$PATH_CODE") } @@ -362,7 +361,7 @@ internal open class ConversationApiV0 internal constructor( conversationId: ConversationId, messageTimer: Long? ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.put("$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}/$PATH_MESSAGE_TIMER") { setBody(ConversationMessageTimerDTO(messageTimer)) } @@ -372,7 +371,7 @@ internal open class ConversationApiV0 internal constructor( conversationId: ConversationId, typingIndicatorMode: TypingIndicatorStatusDTO ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_CONVERSATIONS/${conversationId.value}/$PATH_TYPING_NOTIFICATION") { setBody(typingIndicatorMode) } @@ -385,7 +384,7 @@ internal open class ConversationApiV0 internal constructor( ConversationApi.getApiNotSupportError("updateProtocol") override suspend fun guestLinkInfo(conversationId: ConversationId): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_CONVERSATIONS/${conversationId.value}/$PATH_CODE") } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/LogoutApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/LogoutApiV0.kt index 2e868d53a581..9615a1c0a024 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/LogoutApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/LogoutApiV0.kt @@ -26,7 +26,7 @@ import com.wire.kalium.network.api.model.RefreshTokenProperties import com.wire.kalium.network.session.SessionManager import com.wire.kalium.network.utils.CustomErrors.MISSING_REFRESH_TOKEN import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.header import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -40,7 +40,7 @@ internal open class LogoutApiV0 internal constructor( private val httpClient get() = authenticatedNetworkClient.httpClient override suspend fun logout(): NetworkResponse = sessionManager.session()?.refreshToken?.let { refreshToken -> - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_ACCESS/$PATH_LOGOUT") { header(HttpHeaders.Cookie, "${RefreshTokenProperties.COOKIE_NAME}=$refreshToken") } @@ -48,14 +48,14 @@ internal open class LogoutApiV0 internal constructor( } ?: MISSING_REFRESH_TOKEN override suspend fun removeCookiesByIds(removeCookiesByIdsRequest: RemoveCookiesByIdsRequest): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_COOKIES/$PATH_REMOVE") { setBody(removeCookiesByIdsRequest) } } override suspend fun removeCookiesByLabels(removeCookiesByLabelsRequest: RemoveCookiesByLabels): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_COOKIES/$PATH_REMOVE") { setBody(removeCookiesByLabelsRequest) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/MessageApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/MessageApiV0.kt index 969d03c268e1..33065ce4e438 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/MessageApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/MessageApiV0.kt @@ -29,7 +29,7 @@ import com.wire.kalium.network.api.model.ConversationId import com.wire.kalium.network.exceptions.ProteusClientsChangedError import com.wire.kalium.network.serialization.XProtoBuf import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.setBody import io.ktor.http.ContentType @@ -68,7 +68,7 @@ internal open class MessageApiV0 internal constructor( override suspend fun qualifiedSendMessage( parameters: Parameters.QualifiedDefaultParameters, conversationId: ConversationId - ): NetworkResponse = wrapKaliumResponse({ + ): NetworkResponse = wrapRequest(customErrorInterceptor = { if (it.status != STATUS_CLIENTS_HAVE_CHANGED) null else NetworkResponse.Error( kException = ProteusClientsChangedError( @@ -84,7 +84,7 @@ internal open class MessageApiV0 internal constructor( override suspend fun qualifiedBroadcastMessage( parameters: Parameters.QualifiedDefaultParameters - ): NetworkResponse = wrapKaliumResponse({ + ): NetworkResponse = wrapRequest(customErrorInterceptor = { if (it.status != STATUS_CLIENTS_HAVE_CHANGED) null else NetworkResponse.Error(kException = ProteusClientsChangedError(errorBody = it.parseBody())) }) { diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/NotificationApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/NotificationApiV0.kt index 2eb82b458fae..82b4897d0cd2 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/NotificationApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/NotificationApiV0.kt @@ -46,7 +46,7 @@ import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.deleteSensitiveItemsFromJson import com.wire.kalium.network.utils.mapSuccess import com.wire.kalium.network.utils.setWSSUrl -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.client.request.parameter import io.ktor.http.HttpStatusCode @@ -71,7 +71,7 @@ internal open class NotificationApiV0 internal constructor( override suspend fun mostRecentNotification( queryClient: String - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.get("$PATH_NOTIFICATIONS/$PATH_LAST") { parameter(CLIENT_QUERY_KEY, queryClient) } @@ -99,7 +99,7 @@ internal open class NotificationApiV0 internal constructor( queryClient: String?, querySince: String? ): NetworkResponse { - return wrapKaliumResponse({ + return wrapRequest(customErrorInterceptor = { if (it.status.value != HttpStatusCode.NotFound.value) null else { // In case of 404, we ignore the content completely and fallback to a 404 response to match API V3 diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/PreKeyApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/PreKeyApiV0.kt index c6e5279ac20b..0c26d7bbb19b 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/PreKeyApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/PreKeyApiV0.kt @@ -26,7 +26,7 @@ import com.wire.kalium.network.api.authenticated.prekey.PreKeyDTO import com.wire.kalium.network.api.authenticated.prekey.UploadPreKeysRequest import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.client.request.post import io.ktor.client.request.put @@ -41,7 +41,7 @@ internal open class PreKeyApiV0 internal constructor( override suspend fun getUsersPreKey( users: Map>> ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_USERS/$PATH_List_PREKEYS") { setBody(users) } @@ -49,12 +49,12 @@ internal open class PreKeyApiV0 internal constructor( ListPrekeysResponse(failedToList = emptyList(), qualifiedUserClientPrekeys = it) } - override suspend fun getClientAvailablePrekeys(clientId: String): NetworkResponse> = wrapKaliumResponse { + override suspend fun getClientAvailablePrekeys(clientId: String): NetworkResponse> = wrapRequest { httpClient.get("$PATH_CLIENTS/$clientId/$PATH_PRE_KEY") } override suspend fun uploadNewPrekeys(clientId: String, preKeys: List): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.put("$PATH_CLIENTS/$clientId") { setBody(UploadPreKeysRequest(preKeys)) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/PropertiesApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/PropertiesApiV0.kt index 7447faf0cc9f..07a75a518e27 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/PropertiesApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/PropertiesApiV0.kt @@ -23,7 +23,7 @@ import com.wire.kalium.network.api.authenticated.properties.LabelListResponseDTO import com.wire.kalium.network.api.authenticated.properties.PropertyKey import com.wire.kalium.network.api.base.authenticated.properties.PropertiesApi import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.delete import io.ktor.client.request.get import io.ktor.client.request.put @@ -42,24 +42,24 @@ internal open class PropertiesApiV0 internal constructor( const val PATH_LABELS = "labels" } - override suspend fun getPropertiesValues(): NetworkResponse = wrapKaliumResponse { + override suspend fun getPropertiesValues(): NetworkResponse = wrapRequest { httpClient.get(PATH_PROPERTIES_VALUES) } override suspend fun setProperty(propertyKey: PropertyKey, propertyValue: Any): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.put("$PATH_PROPERTIES/${propertyKey.key}") { setBody(propertyValue) } } - override suspend fun deleteProperty(propertyKey: PropertyKey): NetworkResponse = wrapKaliumResponse { + override suspend fun deleteProperty(propertyKey: PropertyKey): NetworkResponse = wrapRequest { httpClient.delete("$PATH_PROPERTIES/${propertyKey.key}") } - override suspend fun getLabels(): NetworkResponse = wrapKaliumResponse { + override suspend fun getLabels(): NetworkResponse = wrapRequest { httpClient.get("$PATH_PROPERTIES/$PATH_LABELS") } - override suspend fun updateLabels(labelList: LabelListResponseDTO): NetworkResponse = wrapKaliumResponse { + override suspend fun updateLabels(labelList: LabelListResponseDTO): NetworkResponse = wrapRequest { httpClient.put("$PATH_PROPERTIES/$PATH_LABELS") { setBody(labelList) } } } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/SelfApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/SelfApiV0.kt index 44d9ef1af9ab..fa5c96ff0c09 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/SelfApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/SelfApiV0.kt @@ -31,7 +31,7 @@ import com.wire.kalium.network.exceptions.KaliumException import com.wire.kalium.network.session.SessionManager import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.flatMap -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.delete import io.ktor.client.request.get import io.ktor.client.request.header @@ -47,17 +47,17 @@ internal open class SelfApiV0 internal constructor( internal val httpClient get() = authenticatedNetworkClient.httpClient - override suspend fun getSelfInfo(): NetworkResponse = wrapKaliumResponse { + override suspend fun getSelfInfo(): NetworkResponse = wrapRequest { httpClient.get(PATH_SELF) } - override suspend fun updateSelf(userUpdateRequest: UserUpdateRequest): NetworkResponse = wrapKaliumResponse { + override suspend fun updateSelf(userUpdateRequest: UserUpdateRequest): NetworkResponse = wrapRequest { httpClient.put(PATH_SELF) { setBody(userUpdateRequest) } } - override suspend fun changeHandle(request: ChangeHandleRequest): NetworkResponse = wrapKaliumResponse { + override suspend fun changeHandle(request: ChangeHandleRequest): NetworkResponse = wrapRequest { httpClient.put("$PATH_SELF/$PATH_HANDLE") { setBody(request) } @@ -65,7 +65,7 @@ internal open class SelfApiV0 internal constructor( override suspend fun updateEmailAddress(email: String): NetworkResponse = sessionManager.session()?.refreshToken?.let { cookie -> - wrapKaliumResponse { + wrapRequest { httpClient.put("$PATH_ACCESS/$PATH_SELF/$PATH_EMAIL") { header(HttpHeaders.Cookie, "${RefreshTokenProperties.COOKIE_NAME}=$cookie") setBody(UpdateEmailRequest(email)) @@ -80,7 +80,7 @@ internal open class SelfApiV0 internal constructor( } } ?: NetworkResponse.Error(KaliumException.GenericError(IllegalStateException("No session found"))) - override suspend fun deleteAccount(password: String?): NetworkResponse = wrapKaliumResponse { + override suspend fun deleteAccount(password: String?): NetworkResponse = wrapRequest { httpClient.delete(PATH_SELF) { setBody(DeleteAccountRequest(password)) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/TeamsApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/TeamsApiV0.kt index 9d82d9d08e40..ca6d15b75f13 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/TeamsApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/TeamsApiV0.kt @@ -32,7 +32,7 @@ import com.wire.kalium.network.api.model.ServiceDetailResponse import com.wire.kalium.network.api.model.TeamDTO import com.wire.kalium.network.api.model.TeamId import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.delete import io.ktor.client.request.get import io.ktor.client.request.parameter @@ -47,16 +47,16 @@ internal open class TeamsApiV0 internal constructor( private val httpClient get() = authenticatedNetworkClient.httpClient override suspend fun deleteConversation(conversationId: NonQualifiedConversationId, teamId: TeamId): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.delete("$PATH_TEAMS/$teamId/$PATH_CONVERSATIONS/$conversationId") } override suspend fun getTeamInfo(teamId: TeamId): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_TEAMS/$teamId") } - override suspend fun whiteListedServices(teamId: TeamId, size: Int): NetworkResponse = wrapKaliumResponse { + override suspend fun whiteListedServices(teamId: TeamId, size: Int): NetworkResponse = wrapRequest { httpClient.get("$PATH_TEAMS/$teamId/$PATH_SERVICES/$PATH_WHITELISTED") { parameter("size", size) } @@ -67,7 +67,7 @@ internal open class TeamsApiV0 internal constructor( limitTo: Int?, pagingState: String? ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_TEAMS/$teamId/$PATH_MEMBERS") { limitTo?.let { parameter("maxResults", it) } pagingState?.let { parameter("pagingState", it) } @@ -77,26 +77,26 @@ internal open class TeamsApiV0 internal constructor( override suspend fun getTeamMembersByIds( teamId: TeamId, teamMemberIdList: TeamMemberIdList - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.post("$PATH_TEAMS/$teamId/$PATH_MEMBERS_BY_IDS") { setBody(teamMemberIdList) } } override suspend fun getTeamMember(teamId: TeamId, userId: NonQualifiedUserId): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_TEAMS/$teamId/$PATH_MEMBERS/$userId") } override suspend fun approveLegalHoldRequest(teamId: TeamId, userId: NonQualifiedUserId, password: String?): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.put("$PATH_TEAMS/$teamId/$PATH_LEGAL_HOLD/$userId/$PATH_APPROVE") { setBody(PasswordRequest(password)) } } override suspend fun fetchLegalHoldStatus(teamId: TeamId, userId: NonQualifiedUserId): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_TEAMS/$teamId/$PATH_LEGAL_HOLD/$userId") } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/UserDetailsApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/UserDetailsApiV0.kt index 5f27aa27a063..21f07737f93a 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/UserDetailsApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/authenticated/UserDetailsApiV0.kt @@ -26,7 +26,7 @@ import com.wire.kalium.network.api.model.UserId import com.wire.kalium.network.api.model.UserProfileDTO import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -38,7 +38,7 @@ internal open class UserDetailsApiV0 internal constructor( protected val httpClient get() = authenticatedNetworkClient.httpClient override suspend fun getMultipleUsers(users: ListUserRequest): NetworkResponse { - return wrapKaliumResponse> { + return wrapRequest> { httpClient.post(PATH_LIST_USERS) { setBody(users) } @@ -48,7 +48,7 @@ internal open class UserDetailsApiV0 internal constructor( } override suspend fun getUserInfo(userId: UserId): NetworkResponse { - return wrapKaliumResponse { + return wrapRequest { httpClient.get("$PATH_USERS/${userId.domain}/${userId.value}") } } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/DomainLookupApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/DomainLookupApiV0.kt index 6891b97697c0..f7c0bec03966 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/DomainLookupApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/DomainLookupApiV0.kt @@ -21,7 +21,7 @@ import com.wire.kalium.network.UnauthenticatedNetworkClient import com.wire.kalium.network.api.base.unauthenticated.domainLookup.DomainLookupApi import com.wire.kalium.network.api.unauthenticated.domainLookup.DomainLookupResponse import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get internal open class DomainLookupApiV0 internal constructor( @@ -29,7 +29,7 @@ internal open class DomainLookupApiV0 internal constructor( ) : DomainLookupApi { private val httpClient get() = unauthenticatedNetworkClient.httpClient - override suspend fun lookup(domain: String): NetworkResponse = wrapKaliumResponse { + override suspend fun lookup(domain: String): NetworkResponse = wrapRequest { httpClient.get("$CUSTOM_BACKEND_PATH/$BY_DOMAIN_PATH/$domain") } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/LoginApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/LoginApiV0.kt index 2bc6c0134673..cf79bbd169dd 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/LoginApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/LoginApiV0.kt @@ -30,7 +30,7 @@ import com.wire.kalium.network.utils.CustomErrors import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.flatMap import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.bearerAuth import io.ktor.client.request.get import io.ktor.client.request.parameter @@ -74,7 +74,7 @@ internal open class LoginApiV0 internal constructor( override suspend fun login( param: LoginParam, persist: Boolean - ): NetworkResponse> = wrapKaliumResponse { + ): NetworkResponse> = wrapRequest { httpClient.post(PATH_LOGIN) { parameter(QUERY_PERSIST, persist) setBody(param.toRequestBody()) @@ -87,7 +87,7 @@ internal open class LoginApiV0 internal constructor( }.mapSuccess { Pair(accessTokenDTOResponse.value, it) } }.flatMap { tokensPairResponse -> // this is a hack to get the user QualifiedUserId on login - wrapKaliumResponse { + wrapRequest { httpClient.get(PATH_SELF) { bearerAuth(tokensPairResponse.value.first.value) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/RegisterApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/RegisterApiV0.kt index 3ff46dfac75f..5162465b2dd7 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/RegisterApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/RegisterApiV0.kt @@ -31,7 +31,7 @@ import com.wire.kalium.network.utils.CustomErrors import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.flatMap import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.header import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -43,7 +43,7 @@ internal open class RegisterApiV0 internal constructor( private val httpClient get() = unauthenticatedNetworkClient.httpClient - private suspend fun getToken(refreshToken: String): NetworkResponse = wrapKaliumResponse { + private suspend fun getToken(refreshToken: String): NetworkResponse = wrapRequest { httpClient.post(PATH_ACCESS) { header(HttpHeaders.Cookie, "${RefreshTokenProperties.COOKIE_NAME}=$refreshToken") } @@ -51,7 +51,7 @@ internal open class RegisterApiV0 internal constructor( override suspend fun register( param: RegisterParam - ): NetworkResponse> = wrapKaliumResponse { + ): NetworkResponse> = wrapRequest { httpClient.post(REGISTER_PATH) { setBody(param.toBody()) } @@ -76,13 +76,13 @@ internal open class RegisterApiV0 internal constructor( override suspend fun requestActivationCode( param: RequestActivationCodeParam - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.post("$ACTIVATE_PATH/$SEND_PATH") { setBody(param.toBody()) } } - override suspend fun activate(param: ActivationParam): NetworkResponse = wrapKaliumResponse { + override suspend fun activate(param: ActivationParam): NetworkResponse = wrapRequest { httpClient.post(ACTIVATE_PATH) { setBody(param.toBody()) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/SSOLoginApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/SSOLoginApiV0.kt index 0f294468f776..a53172a2253e 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/SSOLoginApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/SSOLoginApiV0.kt @@ -34,7 +34,7 @@ import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.flatMap import com.wire.kalium.network.utils.mapSuccess import com.wire.kalium.network.utils.splitSetCookieHeader -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.HttpRequestBuilder import io.ktor.client.request.accept import io.ktor.client.request.bearerAuth @@ -71,20 +71,20 @@ internal open class SSOLoginApiV0 internal constructor( }.let { httpRequestBuilder -> val httpRequest = httpClient.head(httpRequestBuilder) val url = httpRequest.call.request.url.toString() - wrapKaliumResponse { httpRequest }.mapSuccess { + wrapRequest { httpRequest }.mapSuccess { url } } } - override suspend fun finalize(cookie: String): NetworkResponse = wrapKaliumResponse { + override suspend fun finalize(cookie: String): NetworkResponse = wrapRequest { httpClient.post("$PATH_SSO/$PATH_FINALIZE") { header(HttpHeaders.Cookie, "${RefreshTokenProperties.COOKIE_NAME}=$cookie") } } override suspend fun provideLoginSession(cookie: String): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post(PATH_ACCESS) { header(HttpHeaders.Cookie, cookie) } @@ -98,7 +98,7 @@ internal open class SSOLoginApiV0 internal constructor( NetworkResponse.Success(refreshToken, headers, httpCode) }.mapSuccess { Pair(accessTokenDTOResponse.value, it) } }.flatMap { tokensPairResponse -> - wrapKaliumResponse { + wrapRequest { httpClient.get(PATH_SELF) { bearerAuth(tokensPairResponse.value.first.value) } @@ -110,11 +110,11 @@ internal open class SSOLoginApiV0 internal constructor( } } - override suspend fun metaData(): NetworkResponse = wrapKaliumResponse { + override suspend fun metaData(): NetworkResponse = wrapRequest { httpClient.get("$PATH_SSO/$PATH_METADATA") } - override suspend fun settings(): NetworkResponse = wrapKaliumResponse { + override suspend fun settings(): NetworkResponse = wrapRequest { httpClient.get("$PATH_SSO/$PATH_SETTINGS") } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/VerificationCodeApiV0.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/VerificationCodeApiV0.kt index 15ce4875562c..2d128b8fa838 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/VerificationCodeApiV0.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v0/unauthenticated/VerificationCodeApiV0.kt @@ -21,7 +21,7 @@ import com.wire.kalium.network.UnauthenticatedNetworkClient import com.wire.kalium.network.api.base.unauthenticated.verification.VerificationCodeApi import com.wire.kalium.network.api.base.unauthenticated.verification.VerificationCodeApi.ActionToBeVerified import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.setBody import kotlinx.serialization.SerialName @@ -37,7 +37,7 @@ internal open class VerificationCodeApiV0 internal constructor( email: String, action: ActionToBeVerified ): NetworkResponse { - return wrapKaliumResponse { + return wrapRequest { httpClient.post(PATH_VERIFICATION_CODE_SEND) { setBody(createSendVerificationCodeBody(action, email)) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v10/authenticated/ConversationApiV10.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v10/authenticated/ConversationApiV10.kt index 7e55f2fab8e7..02f17bb056d3 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v10/authenticated/ConversationApiV10.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v10/authenticated/ConversationApiV10.kt @@ -27,7 +27,7 @@ import com.wire.kalium.network.api.model.ApiModelMapperImpl import com.wire.kalium.network.api.v9.authenticated.ConversationApiV9 import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -38,7 +38,7 @@ internal open class ConversationApiV10 internal constructor( override suspend fun createNewConversation( createConversationRequest: CreateConversationRequest - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.post(PATH_CONVERSATIONS) { setBody(apiModelMapper.toApiV10(createConversationRequest)) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v10/unauthenticated/GetDomainRegistrationApiV10.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v10/unauthenticated/GetDomainRegistrationApiV10.kt index 1487cec55bd2..4cb9de3b40d8 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v10/unauthenticated/GetDomainRegistrationApiV10.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v10/unauthenticated/GetDomainRegistrationApiV10.kt @@ -26,7 +26,7 @@ import com.wire.kalium.network.api.unauthenticated.domainregistration.DomainRegi import com.wire.kalium.network.api.v9.unauthenticated.GetDomainRegistrationApiV9 import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -36,7 +36,7 @@ internal open class GetDomainRegistrationApiV10 internal constructor( ) : GetDomainRegistrationApiV9(unauthenticatedNetworkClient) { override suspend fun getDomainRegistration(email: String): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post(PATH_DOMAIN_REGISTRATION) { setBody(DomainRegistrationRequest(email)) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v11/authenticated/ConversationHistoryApiV11.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v11/authenticated/ConversationHistoryApiV11.kt index b2501e225718..2eb7f53454e7 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v11/authenticated/ConversationHistoryApiV11.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v11/authenticated/ConversationHistoryApiV11.kt @@ -25,7 +25,7 @@ import com.wire.kalium.network.api.authenticated.conversation.HistoryClientId import com.wire.kalium.network.api.base.authenticated.conversation.history.ConversationHistoryApi import com.wire.kalium.network.api.model.ConversationId import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.client.request.put import io.ktor.client.request.setBody @@ -38,7 +38,7 @@ internal open class ConversationHistoryApiV11 internal constructor(private val n override suspend fun updateHistorySettingsForConversation( conversationId: ConversationId, settings: ConversationHistorySettingsDTO - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.put { url { appendPathSegments(CONVERSATIONS_PATH, conversationId.domain, conversationId.value, HISTORY_PATH) @@ -52,7 +52,7 @@ internal open class ConversationHistoryApiV11 internal constructor(private val n historyClientId: HistoryClientId, offset: ULong, size: UInt - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.get { url { appendPathSegments(HISTORY_PATH, conversationId.domain, conversationId.value, historyClientId.value) diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v15/unauthenticated/SSOLoginApiV15.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v15/unauthenticated/SSOLoginApiV15.kt index 966dc1128987..892867f148b6 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v15/unauthenticated/SSOLoginApiV15.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v15/unauthenticated/SSOLoginApiV15.kt @@ -26,7 +26,6 @@ import com.wire.kalium.network.api.v14.unauthenticated.SSOLoginApiV14 import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess import com.wire.kalium.network.utils.wrapRequest -import com.wire.kalium.network.utils.wrapKaliumResponse import io.ktor.client.request.HttpRequestBuilder import io.ktor.client.request.accept import io.ktor.client.request.head @@ -55,7 +54,7 @@ internal open class SSOLoginApiV15 internal constructor( } } - override suspend fun getByEmail(email: String): NetworkResponse = wrapKaliumResponse { + override suspend fun getByEmail(email: String): NetworkResponse = wrapRequest { httpClient.post { url.appendPathSegments(PATH_SSO, PATH_GET_BY_EMAIL) setBody(SSOCodeRequest(email)) diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/AssetApiV2.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/AssetApiV2.kt index ebaa40bbe969..f7e60dc97ce3 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/AssetApiV2.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/AssetApiV2.kt @@ -25,7 +25,7 @@ import com.wire.kalium.network.api.model.UserId import com.wire.kalium.network.api.v0.authenticated.AssetApiV0 import com.wire.kalium.network.api.v0.authenticated.StreamAssetContent import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.setBody import io.ktor.http.ContentType @@ -52,7 +52,7 @@ internal open class AssetApiV2 internal constructor( encryptedDataSource: () -> Source, encryptedDataSize: Long ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post(PATH_ASSETS) { contentType(ContentType.MultiPart.Mixed) setBody( diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/ClientApiV2.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/ClientApiV2.kt index c0818b4ba82a..9374b97f2921 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/ClientApiV2.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/ClientApiV2.kt @@ -27,7 +27,7 @@ import com.wire.kalium.network.api.model.UserId import com.wire.kalium.network.api.v0.authenticated.ClientApiV0 import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -35,7 +35,7 @@ internal open class ClientApiV2 internal constructor( authenticatedNetworkClient: AuthenticatedNetworkClient ) : ClientApiV0(authenticatedNetworkClient) { override suspend fun listClientsOfUsers(userIds: List): NetworkResponse>> = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_USERS/$PATH_LIST_CLIENTS") { setBody(ListClientsOfUsersRequest(userIds)) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/ConversationApiV2.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/ConversationApiV2.kt index 107efa585949..f3b78e370fca 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/ConversationApiV2.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v2/authenticated/ConversationApiV2.kt @@ -26,7 +26,6 @@ import com.wire.kalium.network.api.authenticated.conversation.ConversationsDetai import com.wire.kalium.network.api.model.ConversationId import com.wire.kalium.network.api.v0.authenticated.ConversationApiV0 import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -37,7 +36,7 @@ internal open class ConversationApiV2 internal constructor( override suspend fun fetchConversationsListDetails( conversationsIds: List ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_CONVERSATIONS/$PATH_CONVERSATIONS_LIST") { setBody(ConversationsDetailsRequest(conversationsIds = conversationsIds)) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/AccessTokenApiV3.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/AccessTokenApiV3.kt index 6235d6c28342..35d3382ba5f2 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/AccessTokenApiV3.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/AccessTokenApiV3.kt @@ -24,7 +24,7 @@ import com.wire.kalium.network.api.model.RefreshTokenProperties import com.wire.kalium.network.api.v2.authenticated.AccessTokenApiV2 import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.flatMap -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.HttpClient import io.ktor.client.request.header import io.ktor.client.request.parameter @@ -35,7 +35,7 @@ internal open class AccessTokenApiV3 internal constructor( private val httpClient: HttpClient ) : AccessTokenApiV2(httpClient) { override suspend fun getToken(refreshToken: String, clientId: String?): NetworkResponse> = - wrapKaliumResponse { + wrapRequest { httpClient.post(PATH_ACCESS) { header(HttpHeaders.Cookie, "${RefreshTokenProperties.COOKIE_NAME}=$refreshToken") parameter(CLIENT_ID_QUERY_KEY, clientId) diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/ConversationApiV3.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/ConversationApiV3.kt index 1e2c7052f334..b98acda3458b 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/ConversationApiV3.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/ConversationApiV3.kt @@ -35,7 +35,7 @@ import com.wire.kalium.network.api.v2.authenticated.ConversationApiV2 import com.wire.kalium.network.exceptions.KaliumException import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.put import io.ktor.client.request.setBody @@ -50,7 +50,7 @@ internal open class ConversationApiV3 internal constructor( override suspend fun fetchConversationsListDetails( conversationsIds: List ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_CONVERSATIONS/$PATH_CONVERSATIONS_LIST") { setBody(ConversationsDetailsRequest(conversationsIds = conversationsIds)) } @@ -69,7 +69,7 @@ internal open class ConversationApiV3 internal constructor( */ override suspend fun createNewConversation( createConversationRequest: CreateConversationRequest - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.post(PATH_CONVERSATIONS) { setBody(apiModelMapper.toApiV3(createConversationRequest)) } @@ -89,7 +89,7 @@ internal open class ConversationApiV3 internal constructor( UpdateConversationAccessResponse.AccessUnchanged, httpResponse ) - else -> wrapKaliumResponse { httpResponse } + else -> wrapRequest { httpResponse } .mapSuccess { UpdateConversationAccessResponse.AccessUpdated(it) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/NotificationApiV3.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/NotificationApiV3.kt index a4bf26d714ef..e99c5f2413cd 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/NotificationApiV3.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v3/authenticated/NotificationApiV3.kt @@ -24,7 +24,7 @@ import com.wire.kalium.network.api.authenticated.notification.NotificationRespon import com.wire.kalium.network.api.unbound.configuration.ServerConfigDTO import com.wire.kalium.network.api.v2.authenticated.NotificationApiV2 import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.client.request.parameter @@ -40,7 +40,7 @@ internal open class NotificationApiV3 internal constructor( querySize: Int, queryClient: String?, querySince: String? - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { // Pretty much the same V0 request, but without the 404 overwrite httpClient.get(V0.PATH_NOTIFICATIONS) { parameter(V0.SIZE_QUERY_KEY, querySize) diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/ConversationApiV4.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/ConversationApiV4.kt index 2456a9395b77..6407e95f5e9d 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/ConversationApiV4.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/ConversationApiV4.kt @@ -34,7 +34,6 @@ import com.wire.kalium.network.api.model.JoinConversationRequestV4 import com.wire.kalium.network.api.v3.authenticated.ConversationApiV3 import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.client.request.parameter @@ -47,7 +46,7 @@ internal open class ConversationApiV4 internal constructor( ) : ConversationApiV3(authenticatedNetworkClient) { override suspend fun createNewConversation(createConversationRequest: CreateConversationRequest) = - wrapKaliumResponse { + wrapRequest { httpClient.post(PATH_CONVERSATIONS) { setBody(apiModelMapper.toApiV3(createConversationRequest)) } @@ -72,7 +71,7 @@ internal open class ConversationApiV4 internal constructor( code: String, key: String ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_CONVERSATIONS/$PATH_JOIN") { parameter(QUERY_KEY_CODE, code) parameter(QUERY_KEY_KEY, key) @@ -94,7 +93,7 @@ internal open class ConversationApiV4 internal constructor( conversationId: ConversationId, password: String? ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_CONVERSATIONS/${conversationId.value}/$PATH_CODE") { setBody(GenerateGuestLinkRequest(password)) } @@ -104,7 +103,7 @@ internal open class ConversationApiV4 internal constructor( conversationId: ConversationId, typingIndicatorMode: TypingIndicatorStatusDTO ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}/$PATH_TYPING_NOTIFICATION") { setBody(typingIndicatorMode) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/PreKeyApiV4.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/PreKeyApiV4.kt index fcbe12f0faf3..2e23b2d96ecc 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/PreKeyApiV4.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/PreKeyApiV4.kt @@ -21,7 +21,7 @@ package com.wire.kalium.network.api.v4.authenticated import com.wire.kalium.network.AuthenticatedNetworkClient import com.wire.kalium.network.api.base.authenticated.prekey.ListPrekeysResponse import com.wire.kalium.network.api.v3.authenticated.PreKeyApiV3 -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -29,7 +29,7 @@ internal open class PreKeyApiV4 internal constructor( authenticatedNetworkClient: AuthenticatedNetworkClient ) : PreKeyApiV3(authenticatedNetworkClient) { override suspend fun getUsersPreKey(users: Map>>) = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_USERS/$PATH_List_PREKEYS") { setBody(users) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/UserDetailsApiV4.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/UserDetailsApiV4.kt index f68262b76913..37dc72e7a87f 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/UserDetailsApiV4.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v4/authenticated/UserDetailsApiV4.kt @@ -23,7 +23,7 @@ import com.wire.kalium.network.api.authenticated.userDetails.ListUserRequest import com.wire.kalium.network.api.authenticated.userDetails.ListUsersDTO import com.wire.kalium.network.api.v3.authenticated.UserDetailsApiV3 import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -31,7 +31,7 @@ internal open class UserDetailsApiV4 internal constructor( authenticatedNetworkClient: AuthenticatedNetworkClient ) : UserDetailsApiV3(authenticatedNetworkClient) { override suspend fun getMultipleUsers(users: ListUserRequest): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post(PATH_LIST_USERS) { setBody(users) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/ConversationApiV5.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/ConversationApiV5.kt index 8fc07237dd4c..477b391007b3 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/ConversationApiV5.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/ConversationApiV5.kt @@ -34,7 +34,7 @@ import com.wire.kalium.network.api.v4.authenticated.ConversationApiV4 import com.wire.kalium.network.exceptions.KaliumException import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.delete import io.ktor.client.request.get import io.ktor.client.request.put @@ -47,7 +47,7 @@ internal open class ConversationApiV5 internal constructor( ) : ConversationApiV4(authenticatedNetworkClient) { override suspend fun fetchGroupInfo(conversationId: QualifiedID): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get( "$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}/$PATH_GROUP_INFO" ) @@ -57,7 +57,7 @@ internal open class ConversationApiV5 internal constructor( conversationId: ConversationId, subconversationId: SubconversationId ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get( "$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}/" + "$PATH_SUBCONVERSATIONS/$subconversationId/$PATH_GROUP_INFO" @@ -68,7 +68,7 @@ internal open class ConversationApiV5 internal constructor( conversationId: ConversationId, subconversationId: SubconversationId ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get( "$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}" + "/$PATH_SUBCONVERSATIONS/$subconversationId" @@ -80,7 +80,7 @@ internal open class ConversationApiV5 internal constructor( subconversationId: SubconversationId, deleteRequest: SubconversationDeleteRequest ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.delete( "$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}/$PATH_SUBCONVERSATIONS/$subconversationId" ) { @@ -92,7 +92,7 @@ internal open class ConversationApiV5 internal constructor( conversationId: ConversationId, subconversationId: SubconversationId ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.delete( "$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}/$PATH_SUBCONVERSATIONS/$subconversationId/self" ) @@ -111,7 +111,7 @@ internal open class ConversationApiV5 internal constructor( httpResponse ) else -> { - wrapKaliumResponse { httpResponse } + wrapRequest { httpResponse } .mapSuccess { UpdateConversationProtocolResponse.ProtocolUpdated(it) } @@ -123,7 +123,7 @@ internal open class ConversationApiV5 internal constructor( } override suspend fun fetchMlsOneToOneConversation(userId: UserId): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_CONVERSATIONS/$PATH_ONE_TO_ONE/${userId.domain}/${userId.value}") } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/E2EIApiV5.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/E2EIApiV5.kt index 06dec41892f8..3b6802f66e9c 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/E2EIApiV5.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/E2EIApiV5.kt @@ -24,7 +24,7 @@ import com.wire.kalium.network.serialization.JoseJson import com.wire.kalium.network.utils.CustomErrors import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.handleUnsuccessfulResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.prepareHead import io.ktor.client.statement.HttpResponse @@ -56,7 +56,7 @@ internal open class E2EIApiV5 internal constructor( handleUnsuccessfulResponse(httpResponse) } - override suspend fun getAccessToken(clientId: String, dpopToken: String): NetworkResponse = wrapKaliumResponse { + override suspend fun getAccessToken(clientId: String, dpopToken: String): NetworkResponse = wrapRequest { httpClient.post("$PATH_CLIENTS/$clientId/$PATH_ACCESS_TOKEN") { headers.append(DPOP_HEADER_KEY, dpopToken) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/KeyPackageApiV5.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/KeyPackageApiV5.kt index 1aaf2dd7433b..f8740553a91b 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/KeyPackageApiV5.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/KeyPackageApiV5.kt @@ -27,7 +27,7 @@ import com.wire.kalium.network.api.authenticated.keypackage.KeyPackageList import com.wire.kalium.network.api.v4.authenticated.KeyPackageApiV4 import com.wire.kalium.network.kaliumLogger import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import com.wire.kalium.util.int.toHexString import io.ktor.client.request.get import io.ktor.client.request.parameter @@ -42,7 +42,7 @@ internal open class KeyPackageApiV5 internal constructor( override suspend fun claimKeyPackages( param: KeyPackageApi.Param - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.post("$PATH_KEY_PACKAGES/$PATH_CLAIM/${param.user.domain}/${param.user.value}") { param.selfClientId?.let { parameter(QUERY_SKIP_OWN, it) @@ -55,7 +55,7 @@ internal open class KeyPackageApiV5 internal constructor( clientId: String, keyPackages: List ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { kaliumLogger.v("Keypackages Count to upload: ${keyPackages.size}") httpClient.post("$PATH_KEY_PACKAGES/$PATH_SELF/$clientId") { setBody(KeyPackageList(keyPackages)) @@ -67,7 +67,7 @@ internal open class KeyPackageApiV5 internal constructor( keyPackages: List, cipherSuite: Int ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { kaliumLogger.v("Keypackages Count to replace: ${keyPackages.size}") httpClient.put("$PATH_KEY_PACKAGES/$PATH_SELF/$clientId") { setBody(KeyPackageList(keyPackages)) @@ -79,7 +79,7 @@ internal open class KeyPackageApiV5 internal constructor( clientId: String, cipherSuite: Int, ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_KEY_PACKAGES/$PATH_SELF/$clientId/$PATH_COUNT") { parameter(QUERY_CIPHER_SUITE, cipherSuite.toHexString()) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/MLSPublicKeyApiV5.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/MLSPublicKeyApiV5.kt index 0f2e66f67860..7b7410c880f2 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/MLSPublicKeyApiV5.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/MLSPublicKeyApiV5.kt @@ -22,7 +22,7 @@ import com.wire.kalium.network.AuthenticatedNetworkClient import com.wire.kalium.network.api.authenticated.serverpublickey.MLSPublicKeysDTO import com.wire.kalium.network.api.v4.authenticated.MLSPublicKeyApiV4 import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get internal open class MLSPublicKeyApiV5 internal constructor( @@ -32,7 +32,7 @@ internal open class MLSPublicKeyApiV5 internal constructor( private val httpClient get() = authenticatedNetworkClient.httpClient override suspend fun getMLSPublicKeys(): NetworkResponse = - wrapKaliumResponse { httpClient.get("$PATH_MLS/$PATH_PUBLIC_KEYS") } + wrapRequest { httpClient.get("$PATH_MLS/$PATH_PUBLIC_KEYS") } private companion object { const val PATH_PUBLIC_KEYS = "public-keys" diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/SelfApiV5.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/SelfApiV5.kt index 957e4c722bb4..8e6da5554be3 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/SelfApiV5.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v5/authenticated/SelfApiV5.kt @@ -24,7 +24,7 @@ import com.wire.kalium.network.api.model.SupportedProtocolDTO import com.wire.kalium.network.api.v4.authenticated.SelfApiV4 import com.wire.kalium.network.session.SessionManager import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.put import io.ktor.client.request.setBody @@ -34,7 +34,7 @@ internal open class SelfApiV5 internal constructor( ) : SelfApiV4(authenticatedNetworkClient, sessionManager) { override suspend fun updateSupportedProtocols( protocols: List - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.put("$PATH_SELF/$PATH_SUPPORTED_PROTOCOLS") { setBody(UpdateSupportedProtocolsRequest(protocols)) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v6/authenticated/ConversationApiV6.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v6/authenticated/ConversationApiV6.kt index 9ab818bb241b..29cba0e3fab4 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v6/authenticated/ConversationApiV6.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v6/authenticated/ConversationApiV6.kt @@ -27,7 +27,7 @@ import com.wire.kalium.network.api.model.ApiModelMapperImpl import com.wire.kalium.network.api.model.UserId import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get internal open class ConversationApiV6 internal constructor( @@ -35,7 +35,7 @@ internal open class ConversationApiV6 internal constructor( private val apiModelMapper: ApiModelMapper = ApiModelMapperImpl() ) : ConversationApiV5(authenticatedNetworkClient) { override suspend fun fetchMlsOneToOneConversation(userId: UserId): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_CONVERSATIONS/$PATH_ONE_TO_ONE/${userId.domain}/${userId.value}") }.mapSuccess { apiModelMapper.fromApiV6(it) diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v7/authenticated/ConversationApiV7.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v7/authenticated/ConversationApiV7.kt index 5e0d237b95a6..05183184cfcd 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v7/authenticated/ConversationApiV7.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v7/authenticated/ConversationApiV7.kt @@ -31,7 +31,7 @@ import com.wire.kalium.network.api.v6.authenticated.ConversationApiV6 import com.wire.kalium.network.exceptions.KaliumException import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -43,7 +43,7 @@ internal open class ConversationApiV7 internal constructor( ) : ConversationApiV6(authenticatedNetworkClient) { override suspend fun fetchMlsOneToOneConversation(userId: UserId): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get("$PATH_ONE_2_ONE_CONVERSATIONS/${userId.domain}/${userId.value}") }.mapSuccess { apiModelMapper.fromApiV6(it) diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v7/authenticated/UpgradePersonalToTeamApiV7.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v7/authenticated/UpgradePersonalToTeamApiV7.kt index b1c07ff54185..9ea9b6025cb7 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v7/authenticated/UpgradePersonalToTeamApiV7.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v7/authenticated/UpgradePersonalToTeamApiV7.kt @@ -23,7 +23,7 @@ import com.wire.kalium.network.api.authenticated.user.CreateUserTeamDTO import com.wire.kalium.network.api.unauthenticated.register.NewBindingTeamDTO import com.wire.kalium.network.api.v6.authenticated.UpgradePersonalToTeamApiV6 import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -32,7 +32,7 @@ internal open class UpgradePersonalToTeamApiV7 internal constructor( ) : UpgradePersonalToTeamApiV6(authenticatedNetworkClient) { override suspend fun migrateToTeam(teamName: String): NetworkResponse { - return wrapKaliumResponse { + return wrapRequest { httpClient.post(PATH_MIGRATE_TO_TEAM) { // We do not ask user for icon at this point, so we use hardcoded values from the backend diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v8/authenticated/ConversationApiV8.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v8/authenticated/ConversationApiV8.kt index 94303986bc78..18f3a9aac747 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v8/authenticated/ConversationApiV8.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v8/authenticated/ConversationApiV8.kt @@ -35,7 +35,7 @@ import com.wire.kalium.network.api.v7.authenticated.ConversationApiV7 import com.wire.kalium.network.exceptions.KaliumException import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.mapSuccess -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.client.request.post import io.ktor.client.request.put @@ -51,7 +51,7 @@ internal open class ConversationApiV8 internal constructor( override suspend fun fetchConversationDetails( conversationId: ConversationId ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.get( "$PATH_CONVERSATIONS/${conversationId.domain}/${conversationId.value}" ) @@ -62,7 +62,7 @@ internal open class ConversationApiV8 internal constructor( override suspend fun fetchConversationsListDetails( conversationsIds: List ): NetworkResponse = - wrapKaliumResponse { + wrapRequest { httpClient.post("$PATH_CONVERSATIONS/$PATH_CONVERSATIONS_LIST") { setBody(ConversationsDetailsRequest(conversationsIds = conversationsIds)) } @@ -81,7 +81,7 @@ internal open class ConversationApiV8 internal constructor( */ override suspend fun createNewConversation( createConversationRequest: CreateConversationRequest - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { httpClient.post(PATH_CONVERSATIONS) { setBody(apiModelMapper.toApiV8(createConversationRequest)) } @@ -102,7 +102,7 @@ internal open class ConversationApiV8 internal constructor( httpResponse ) - else -> wrapKaliumResponse { httpResponse } + else -> wrapRequest { httpResponse } .mapSuccess { UpdateChannelAddPermissionResponse.PermissionUpdated(it) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v8/unauthenticated/GetDomainRegistrationApiV8.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v8/unauthenticated/GetDomainRegistrationApiV8.kt index 541a7a83a866..0bcfe9ec7219 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v8/unauthenticated/GetDomainRegistrationApiV8.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v8/unauthenticated/GetDomainRegistrationApiV8.kt @@ -24,7 +24,7 @@ import com.wire.kalium.network.api.unauthenticated.domainregistration.DomainRegi import com.wire.kalium.network.api.v7.unauthenticated.GetDomainRegistrationApiV7 import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.setUrl -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.accept import io.ktor.client.request.get import io.ktor.client.request.post @@ -37,7 +37,7 @@ internal open class GetDomainRegistrationApiV8 internal constructor( ) : GetDomainRegistrationApiV7(unauthenticatedNetworkClient) { override suspend fun getDomainRegistration(email: String): NetworkResponse { - return wrapKaliumResponse { + return wrapRequest { httpClient.post(PATH_DOMAIN_REGISTRATION) { setBody(DomainRegistrationRequest(email)) } @@ -45,7 +45,7 @@ internal open class GetDomainRegistrationApiV8 internal constructor( } override suspend fun customBackendConfig(backendUrl: String): NetworkResponse { - return wrapKaliumResponse { + return wrapRequest { httpClient.get { accept(ContentType.Text.Plain) setUrl(Url(backendUrl)) diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/ConversationApiV9.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/ConversationApiV9.kt index 09b2b6a6e249..306ff2f95d4e 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/ConversationApiV9.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/ConversationApiV9.kt @@ -22,7 +22,7 @@ import com.wire.kalium.network.AuthenticatedNetworkClient import com.wire.kalium.network.api.authenticated.conversation.ResetMLSConversationRequestV9 import com.wire.kalium.network.api.v8.authenticated.ConversationApiV8 import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -30,7 +30,7 @@ internal open class ConversationApiV9 internal constructor( authenticatedNetworkClient: AuthenticatedNetworkClient ) : ConversationApiV8(authenticatedNetworkClient) { - override suspend fun resetMlsConversation(groupId: String, epoch: ULong): NetworkResponse = wrapKaliumResponse { + override suspend fun resetMlsConversation(groupId: String, epoch: ULong): NetworkResponse = wrapRequest { httpClient.post("$PATH_MLS/$PATH_RESET_CONVERSATION") { setBody( ResetMLSConversationRequestV9( diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/NotificationApiV9.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/NotificationApiV9.kt index c09602d1352a..23a3f2247ced 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/NotificationApiV9.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/NotificationApiV9.kt @@ -35,7 +35,7 @@ import com.wire.kalium.network.utils.NetworkResponse import com.wire.kalium.network.utils.deleteSensitiveItemsFromJson import com.wire.kalium.network.utils.mapSuccess import com.wire.kalium.network.utils.setWSSUrl -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get import io.ktor.client.request.parameter import io.ktor.websocket.Frame @@ -105,7 +105,7 @@ internal open class NotificationApiV9 internal constructor( } } - private suspend fun cookies(): NetworkResponse = wrapKaliumResponse { + private suspend fun cookies(): NetworkResponse = wrapRequest { authenticatedNetworkClient.httpClient.get("/cookies") } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/ServerTimeApiV9.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/ServerTimeApiV9.kt index d5641166b8aa..24de91514cbf 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/ServerTimeApiV9.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/v9/authenticated/ServerTimeApiV9.kt @@ -21,13 +21,13 @@ import com.wire.kalium.network.AuthenticatedNetworkClient import com.wire.kalium.network.api.authenticated.time.ServerTimeDTO import com.wire.kalium.network.api.v8.authenticated.ServerTimeApiV8 import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.get internal open class ServerTimeApiV9(authenticatedNetworkClient: AuthenticatedNetworkClient) : ServerTimeApiV8(authenticatedNetworkClient) { - override suspend fun getServerTime(): NetworkResponse = wrapKaliumResponse { + override suspend fun getServerTime(): NetworkResponse = wrapRequest { httpClient.get(PATH_SERVER_TIME) } diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/vcommon/WildCardApiImpl.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/vcommon/WildCardApiImpl.kt index 1c46937799c4..02f2f1cc15ec 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/vcommon/WildCardApiImpl.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/api/vcommon/WildCardApiImpl.kt @@ -20,7 +20,7 @@ package com.wire.kalium.network.api.vcommon import com.wire.kalium.network.AuthenticatedNetworkClient import com.wire.kalium.network.api.base.authenticated.WildCardApi import com.wire.kalium.network.utils.NetworkResponse -import com.wire.kalium.network.utils.wrapKaliumResponse +import com.wire.kalium.network.utils.wrapRequest import io.ktor.client.request.parameter import io.ktor.client.request.request import io.ktor.client.request.setBody @@ -36,7 +36,7 @@ internal class WildCardApiImpl( body: String?, queryParam: Map, customHeader: Map - ): NetworkResponse = wrapKaliumResponse { + ): NetworkResponse = wrapRequest { authenticatedNetworkClient.httpClient.request { method = httpMethod url(requestPath.joinToString("/")) diff --git a/data/network/src/commonMain/kotlin/com/wire/kalium/network/utils/NetworkUtils.kt b/data/network/src/commonMain/kotlin/com/wire/kalium/network/utils/NetworkUtils.kt index 8744de37363e..344dfb382e2f 100644 --- a/data/network/src/commonMain/kotlin/com/wire/kalium/network/utils/NetworkUtils.kt +++ b/data/network/src/commonMain/kotlin/com/wire/kalium/network/utils/NetworkUtils.kt @@ -144,39 +144,6 @@ internal inline fun NetworkResponse.onSuccess( ): NetworkResponse = this.apply { if (this is NetworkResponse.Success) fn(this) } -/** - * Wraps a producer of [HttpResponse] and attempts to parse the server response based on the [BodyType]. - * @return - Successful response (HTTP Status Codes from 200 to 299): - * a [NetworkResponse.Success] with the expected [BodyType] will be returned. - * - * - Unsuccessful response (any other HTTP Status Code): - * a [NetworkResponse.Error] with a [KaliumException]. Will try to read it the body as an [ErrorResponse]. - * It's possible to intercept this and do the mapping to a [NetworkResponse] through [unsuccessfulResponseOverride]. - * - * - Exceptions failure to reach server or parse response: - * a [NetworkResponse.Error] containing a [KaliumException.GenericError] - * - * @param unsuccessfulResponseOverride Allows to intercept any unsuccessful response - * and map it to a [NetworkResponse] as needed. This block can return null in order don't override. - * Useful when handling custom ErrorBody, for example. - * @param performRequest the block that will result into the [HttpResponse] - * @see KaliumException - * @see ErrorResponse - */ -@Deprecated( - message = "This is being renamed to wrapRequest! Use it instead", - replaceWith = ReplaceWith("wrapRequest(unsuccessfulResponseOverride, performRequest)") -) -internal suspend inline fun wrapKaliumResponse( - crossinline unsuccessfulResponseOverride: (HttpResponseData) -> NetworkResponse? = { null }, - performRequest: () -> HttpResponse -): NetworkResponse = wrapRequest( - { - unsuccessfulResponseOverride(it) - }, - performRequest = performRequest -) - // TODO(refactor): Remove this function completely. Currently being used in ACME, E2EI and Asset downloads. @Deprecated("This should not be called directly. Either wrapRequest, or use the desired ErrorResponseInterceptors as needed") internal suspend fun handleUnsuccessfulResponse(