summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadREST/MullvadAPI/APIRequest/APIRequestProxy.swift
diff options
context:
space:
mode:
authorBug Magnet <marco.nikic@mullvad.net>2025-05-08 09:32:52 +0200
committerBug Magnet <marco.nikic@mullvad.net>2025-05-08 09:32:52 +0200
commitcaf05bc110aeb3f6c0b4db9723629818e7e81d99 (patch)
tree4a15da846efe1f5fe9bf486d2c35727b1e2d1b31 /ios/MullvadREST/MullvadAPI/APIRequest/APIRequestProxy.swift
parenta74a0c0aa3270bb2cf7861f94ad7dc590ed50d22 (diff)
parent01660f7d4af6fc539ce938f44f26bdf55337b57a (diff)
downloadmullvadvpn-caf05bc110aeb3f6c0b4db9723629818e7e81d99.tar.xz
mullvadvpn-caf05bc110aeb3f6c0b4db9723629818e7e81d99.zip
Merge branch 'implement-storekit2-api-calls-using-mullvad-api-ios-1158'
Diffstat (limited to 'ios/MullvadREST/MullvadAPI/APIRequest/APIRequestProxy.swift')
-rw-r--r--ios/MullvadREST/MullvadAPI/APIRequest/APIRequestProxy.swift34
1 files changed, 23 insertions, 11 deletions
diff --git a/ios/MullvadREST/MullvadAPI/APIRequest/APIRequestProxy.swift b/ios/MullvadREST/MullvadAPI/APIRequest/APIRequestProxy.swift
index 8e2ac4fad2..d204165c0d 100644
--- a/ios/MullvadREST/MullvadAPI/APIRequest/APIRequestProxy.swift
+++ b/ios/MullvadREST/MullvadAPI/APIRequest/APIRequestProxy.swift
@@ -45,20 +45,32 @@ public final class APIRequestProxy: APIRequestProxyProtocol, @unchecked Sendable
completion(ProxyAPIResponse(data: nil, error: nil))
return
}
+ do {
+ let cancellable = try transport.sendRequest(proxyRequest.request) { [weak self] response in
+ guard let self else { return }
- let cancellable = transport.sendRequest(proxyRequest.request) { [weak self] response in
- guard let self else { return }
-
- // Use `dispatchQueue` to guarantee thread safe access to `proxiedRequests`
- dispatchQueue.async {
- _ = self.removeRequest(identifier: proxyRequest.id)
- completion(response)
+ // Use `dispatchQueue` to guarantee thread safe access to `proxiedRequests`
+ dispatchQueue.async {
+ _ = self.removeRequest(identifier: proxyRequest.id)
+ completion(response)
+ }
}
- }
- // Cancel old task, if there's one scheduled.
- let oldTask = self.addRequest(identifier: proxyRequest.id, task: cancellable)
- oldTask?.cancel()
+ // Cancel old task, if there's one scheduled.
+ let oldTask = self.addRequest(identifier: proxyRequest.id, task: cancellable)
+ oldTask?.cancel()
+ } catch {
+ completion(
+ ProxyAPIResponse(
+ data: nil,
+ error: APIError(
+ statusCode: 0,
+ errorDescription: error.localizedDescription,
+ serverResponseCode: nil
+ )
+ )
+ )
+ }
}
}