Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
Comment thread
MohamadJaara marked this conversation as resolved.
import com.wire.kalium.network.utils.wrapRequest
import io.ktor.client.request.get
import io.ktor.http.URLBuilder
import io.ktor.http.Url
Expand All @@ -37,7 +37,7 @@ class AppVersioningApiImpl internal constructor(
private val httpClient get() = unauthenticatedNetworkClient.httpClient

override suspend fun fetchAppVersionBlackList(blackListUrl: String): NetworkResponse<AppVersionBlackListResponse> {
return wrapKaliumResponse<AppVersionBlackListResponse> {
return wrapRequest<AppVersionBlackListResponse> {
httpClient.get {
val platformBlackListUrl = URLBuilder().apply {
val url = Url(blackListUrl)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -34,7 +34,7 @@ class UnauthorizedSettingsApiImpl internal constructor(

private val httpClient get() = unauthenticatedNetworkClient.httpClient

override suspend fun settings(): NetworkResponse<UnauthorizedSettingsResponse> = wrapKaliumResponse {
override suspend fun settings(): NetworkResponse<UnauthorizedSettingsResponse> = wrapRequest {
httpClient.get(PATH)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -90,7 +90,7 @@ class ACMEApiImpl internal constructor(
)
}

return wrapKaliumResponse {
return wrapRequest {
httpClient.get("$protocolWithAuthority/$PATH_ACME_ROOTS_PEM")
}

Expand All @@ -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)
}
}
Expand Down Expand Up @@ -159,7 +159,7 @@ class ACMEApiImpl internal constructor(
)
}

return wrapKaliumResponse<String> {
return wrapRequest<String> {
httpClient.post(url) {
contentType(ContentType.Application.JoseJson)
setBody(body)
Expand Down Expand Up @@ -222,7 +222,7 @@ class ACMEApiImpl internal constructor(
)
}

return wrapKaliumResponse<ChallengeResponse> {
return wrapRequest<ChallengeResponse> {
httpClient.post(url) {
contentType(ContentType.Application.JoseJson)
setBody(body)
Expand Down Expand Up @@ -260,7 +260,7 @@ class ACMEApiImpl internal constructor(
)
}

return wrapKaliumResponse<FederationCertificateChainResponse> {
return wrapRequest<FederationCertificateChainResponse> {
httpClient.get("$protocolWithAuthority/$PATH_ACME_FEDERATION")
}.mapSuccess { it.certificates }
}
Expand All @@ -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)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -57,7 +57,7 @@ class ServerConfigApiImpl internal constructor(
* @param serverConfigUrl the remote config url
*/
override suspend fun fetchServerConfig(serverConfigUrl: String): NetworkResponse<ServerConfigDTO.Links> =
wrapKaliumResponse<String> {
wrapRequest<String> {
httpClient.get {
accept(ContentType.Text.Plain)
setUrl(Url(serverConfigUrl))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -53,18 +53,19 @@ class VersionApiImpl internal constructor(
developmentApiEnabled = developmentApiEnabled
)

override suspend fun fetchApiVersion(baseApiUrl: Url): NetworkResponse<ServerConfigDTO.MetaData> = wrapKaliumResponse({
if (it.status != HttpStatusCode.NotFound) null
else {
NetworkResponse.Success(VersionInfoDTO(), it)
override suspend fun fetchApiVersion(baseApiUrl: Url): NetworkResponse<ServerConfigDTO.MetaData> =
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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ 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
import io.ktor.http.HttpHeaders

internal open class AccessTokenApiV0(private val httpClient: HttpClient) : AccessTokenApi {
override suspend fun getToken(refreshToken: String, clientId: String?): NetworkResponse<Pair<AccessTokenDTO, RefreshTokenDTO?>> =
wrapKaliumResponse<AccessTokenDTO> {
wrapRequest<AccessTokenDTO> {
httpClient.post(PATH_ACCESS) {
header(HttpHeaders.Cookie, "${RefreshTokenProperties.COOKIE_NAME}=$refreshToken")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -126,7 +126,7 @@ internal open class AssetApiV0 internal constructor(
encryptedDataSource: () -> Source,
encryptedDataSize: Long
): NetworkResponse<AssetResponse> =
wrapKaliumResponse {
wrapRequest {
httpClient.post(PATH_PUBLIC_ASSETS_V3) {
contentType(ContentType.MultiPart.Mixed)
setBody(
Expand All @@ -141,7 +141,7 @@ internal open class AssetApiV0 internal constructor(
}

override suspend fun deleteAsset(assetId: String, assetDomain: String?, assetToken: String?): NetworkResponse<Unit> =
wrapKaliumResponse {
wrapRequest {
httpClient.delete(buildAssetsPath(assetId, assetDomain)) {
assetToken?.let { header(HEADER_ASSET_TOKEN, it) }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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<String> =
wrapKaliumResponse {
wrapRequest {
httpClient.get("$PATH_CALLS/$PATH_CONFIG") {
limit?.let { parameter(QUERY_KEY_LIMIT, it) }
}
}

override suspend fun connectToSFT(url: String, data: String): NetworkResponse<ByteArray> =
wrapKaliumResponse {
wrapRequest {
url.let {
URLBuilder(it).apply {
protocol = URLProtocol.HTTPS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -50,14 +50,14 @@ internal open class ClientApiV0 internal constructor(
protected val httpClient get() = authenticatedNetworkClient.httpClient

override suspend fun registerClient(registerClientRequest: RegisterClientRequest): NetworkResponse<ClientDTO> =
wrapKaliumResponse {
wrapRequest {
httpClient.post(PATH_CLIENTS) {
setBody(apiModelMapper.toApiV0ToV8(registerClientRequest))
}
}

override suspend fun listClientsOfUsers(userIds: List<UserId>): NetworkResponse<Map<UserId, List<SimpleClientResponse>>> =
wrapKaliumResponse<ClientsOfUsersResponse> {
wrapRequest<ClientsOfUsersResponse> {
httpClient.post("$PATH_USERS/$PATH_LIST_CLIENTS/v2") {
setBody(ListClientsOfUsersRequest(userIds))
}
Expand All @@ -72,23 +72,23 @@ internal open class ClientApiV0 internal constructor(
}

override suspend fun fetchSelfUserClient(): NetworkResponse<List<ClientDTO>> =
wrapKaliumResponse { httpClient.get(PATH_CLIENTS) }
wrapRequest { httpClient.get(PATH_CLIENTS) }

override suspend fun deleteClient(password: String?, clientID: String) =
wrapKaliumResponse<Unit> {
wrapRequest<Unit> {
httpClient.delete("$PATH_CLIENTS/$clientID") {
setBody(PasswordRequest(password))
}
}

override suspend fun fetchClientInfo(clientID: String): NetworkResponse<ClientDTO> =
wrapKaliumResponse { httpClient.get("$PATH_CLIENTS/$clientID") }
wrapRequest { httpClient.get("$PATH_CLIENTS/$clientID") }

override suspend fun updateClientMlsPublicKeys(
updateClientMlsPublicKeysRequest: UpdateClientMlsPublicKeysRequest,
clientID: String
): NetworkResponse<Unit> =
wrapKaliumResponse<Unit> {
wrapRequest<Unit> {
httpClient.put("$PATH_CLIENTS/$clientID") {
setBody(updateClientMlsPublicKeysRequest)
}
Expand All @@ -97,20 +97,20 @@ internal open class ClientApiV0 internal constructor(
override suspend fun updateClientCapabilities(
updateClientCapabilitiesRequest: UpdateClientCapabilitiesRequest,
clientID: String
): NetworkResponse<Unit> = wrapKaliumResponse {
): NetworkResponse<Unit> = wrapRequest {
httpClient.put("$PATH_CLIENTS/$clientID") {
setBody(updateClientCapabilitiesRequest)
}
}

override suspend fun registerToken(body: PushTokenBody): NetworkResponse<Unit> =
wrapKaliumResponse {
wrapRequest {
httpClient.post(PUSH_TOKEN) {
setBody(body)
}
}

override suspend fun deregisterToken(pid: String): NetworkResponse<Unit> = wrapKaliumResponse {
override suspend fun deregisterToken(pid: String): NetworkResponse<Unit> = wrapRequest {
httpClient.delete("$PUSH_TOKEN/$pid")
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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<ConnectionResponse> =
wrapKaliumResponse {
wrapRequest {
httpClient.post(PATH_CONNECTIONS) {
setBody(PaginationRequest(pagingState = pagingState, size = MAX_CONNECTIONS_COUNT))
}
}

override suspend fun createConnection(userId: UserId): NetworkResponse<ConnectionDTO> =
wrapKaliumResponse {
wrapRequest {
httpClient.post("$PATH_CONNECTIONS_ENDPOINTS/${userId.domain}/${userId.value}")
}

override suspend fun updateConnection(userId: UserId, connectionStatus: ConnectionStateDTO): NetworkResponse<ConnectionDTO> =
wrapKaliumResponse {
wrapRequest {
httpClient.put("$PATH_CONNECTIONS_ENDPOINTS/${userId.domain}/${userId.value}") {
setBody(UpdateConnectionRequest(connectionStatus))
}
}

override suspend fun userConnectionInfo(userId: UserId): NetworkResponse<ConnectionDTO> = wrapKaliumResponse {
override suspend fun userConnectionInfo(userId: UserId): NetworkResponse<ConnectionDTO> = wrapRequest {
httpClient.get("$PATH_CONNECTIONS_ENDPOINTS/${userId.domain}/${userId.value}")
}

Expand Down
Loading
Loading