From 5b641920a1f06d26cbc31e2d3155935f34e5d0cc Mon Sep 17 00:00:00 2001 From: tobias <thinkdifferent055@gmail.com> Date: Thu, 23 Dec 2021 11:02:38 +0100 Subject: [PATCH] Improve network error model --- AppleLibs/Network/Requests/DataManager.swift | 2 +- AppleLibs/Network/Requests/ResponseError.swift | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/AppleLibs/Network/Requests/DataManager.swift b/AppleLibs/Network/Requests/DataManager.swift index 31f2c73..664c71a 100644 --- a/AppleLibs/Network/Requests/DataManager.swift +++ b/AppleLibs/Network/Requests/DataManager.swift @@ -109,7 +109,7 @@ open class DataManager: NSObject, URLSessionDelegate } guard let response: HTTPURLResponse = response as? HTTPURLResponse else { - throw ResponseError.networkError(url: r.url, error: .unknown()) + throw ResponseError.typeError } do { diff --git a/AppleLibs/Network/Requests/ResponseError.swift b/AppleLibs/Network/Requests/ResponseError.swift index 1febd43..dd33710 100644 --- a/AppleLibs/Network/Requests/ResponseError.swift +++ b/AppleLibs/Network/Requests/ResponseError.swift @@ -21,7 +21,7 @@ public enum ResponseError: Error case noInternet case timeout case serverNotFound - case unknown(error: Error? = nil) + case unknown(error: Error) } public enum HttpError: Error @@ -29,9 +29,11 @@ public enum ResponseError: Error case badRequest case notFound case internalError + case raw(code: Int) } case requestError + case typeError case authError(url: String, error: AuthError) case httpError(url: String, error: HttpError) case networkError(url: String, error: NetworkError) @@ -52,7 +54,7 @@ public enum ResponseError: Error return ResponseError.httpError(url: url, error: .internalError) default: - return ResponseError.networkError(url: url, error: .unknown()) + return ResponseError.httpError(url: url, error: .raw(code: code)) } } } -- GitLab