commit 95536d068145fabc6c31db5fbabe6b59a318e66e
parent 6e1c284874cbb106190ba5492b258a654df202eb
Author: Marc Stibane <marc@taler.net>
Date: Thu, 13 Nov 2025 22:17:29 +0100
error handling
Diffstat:
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,