Convert dict to sendable string before throwing

This commit is contained in:
Caleb Jasik 2025-02-12 12:00:54 -06:00
parent 985508fd79
commit 821ceb41ce
No known key found for this signature in database

View file

@ -6,7 +6,7 @@ import os.log
let log = Logger(subsystem: "net.defined.mobileNebula", category: "Site") let log = Logger(subsystem: "net.defined.mobileNebula", category: "Site")
enum SiteError: Error { enum SiteError: Error {
case nonConforming(site: [String: any Sendable]?) case nonConforming(siteDict: String)
case noCertificate case noCertificate
case keyLoad case keyLoad
case keySave case keySave
@ -21,8 +21,8 @@ enum SiteError: Error {
extension SiteError: CustomStringConvertible { extension SiteError: CustomStringConvertible {
public var description: String { public var description: String {
switch self { switch self {
case .nonConforming(let site): case .nonConforming(let siteDict):
return String("Non-conforming site \(String(describing: site))") return String("Non-conforming site \(siteDict)")
case .noCertificate: case .noCertificate:
return "No certificate found" return "No certificate found"
case .keyLoad: case .keyLoad:
@ -209,7 +209,8 @@ class Site: Codable, @unchecked Sendable {
let id = dict?["id"] as? String ?? nil let id = dict?["id"] as? String ?? nil
if id == nil { if id == nil {
throw SiteError.nonConforming(site: dict) // Describe `dict` before passing to the error.
throw SiteError.nonConforming(siteDict: "\(String(describing: dict))")
} }
try self.init(path: SiteList.getSiteConfigFile(id: id!, createDir: false)) try self.init(path: SiteList.getSiteConfigFile(id: id!, createDir: false))