summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadREST/MullvadAPI/APIRequest/APIRequestProxy.swift
diff options
context:
space:
mode:
authorSteffen Ernst <steffen.ernst@mullvad.net>2025-04-09 10:33:39 +0200
committerSteffen Ernst <steffen.ernst@mullvad.net>2025-05-08 09:31:27 +0200
commit01660f7d4af6fc539ce938f44f26bdf55337b57a (patch)
tree4a15da846efe1f5fe9bf486d2c35727b1e2d1b31 /ios/MullvadREST/MullvadAPI/APIRequest/APIRequestProxy.swift
parenta74a0c0aa3270bb2cf7861f94ad7dc590ed50d22 (diff)
downloadmullvadvpn-01660f7d4af6fc539ce938f44f26bdf55337b57a.tar.xz
mullvadvpn-01660f7d4af6fc539ce938f44f26bdf55337b57a.zip
Add storekit 2 functions to mullvad api
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
+ )
+ )
+ )
+ }
}
}