taler-ios

iOS apps for GNU Taler (wallet)
Log | Files | Refs | README | LICENSE

commit 95536d068145fabc6c31db5fbabe6b59a318e66e
parent 6e1c284874cbb106190ba5492b258a654df202eb
Author: Marc Stibane <marc@taler.net>
Date:   Thu, 13 Nov 2025 22:17:29 +0100

error handling

Diffstat:
MTalerWallet1/Quickjs/QuickDataTask.swift | 17++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/TalerWallet1/Quickjs/QuickDataTask.swift b/TalerWallet1/Quickjs/QuickDataTask.swift @@ -60,6 +60,12 @@ func request_cancel(userdata: Optional<UnsafeMutableRawPointer>, return quickjs.reqCancel(requestID) } // MARK: - +extension Error { + var errorCode:Int? { + return (self as NSError).code + } +} +// MARK: - class QuickDataTask: NSObject { let urlSession: URLSession let request: URLRequest @@ -86,6 +92,7 @@ class QuickDataTask: NSObject { self.responseCb = responseCb self.responseCbCls = responseCbCls } + func run() { if let responseCb, let responseCbCls { let method = self.request.httpMethod ?? "Unknown" @@ -136,11 +143,11 @@ class QuickDataTask: NSObject { } } else { // pass error to walletCore Task.detached { - var errmsg = "No http response from \(url)" - logger.error("⁉️ \(self.requestID, privacy: .public) \(method, privacy: .public) \(error, privacy: .public) \(errmsg, privacy: .public)") -// await WalletModel.shared.hintNetworkAvailabilityT(false) - Controller.shared.checkInternetConnection() // TODO: pass error to walletCore - var errmsg_p0 = UnsafeMutablePointer<CChar>(mutating: errmsg.cString(using: .utf8)) + self.logger.error("⁉️ \(self.requestID, privacy: .public) \(method, privacy: .public) \(error, privacy: .public)") + Controller.shared.checkInternetConnection() + let errmsg = error?.localizedDescription + let errmsg_p0 = if let errmsg { UnsafeMutablePointer<CChar>(mutating: errmsg.cString(using: .utf8)) } + else { UnsafeMutablePointer<CChar>(nil) } var responseInfo = JSHttpResponseInfo(request_id: self.requestID, status: 0, errmsg: errmsg_p0,