From 4b14ac2ff7ed1e0399683b0f5a38115df74e572c Mon Sep 17 00:00:00 2001 From: tobias <thinkdifferent055@gmail.com> Date: Mon, 13 Dec 2021 13:29:07 +0100 Subject: [PATCH] Make response handlers async --- AppleLibs/Network/Requests/DataManager.swift | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/AppleLibs/Network/Requests/DataManager.swift b/AppleLibs/Network/Requests/DataManager.swift index 9eaf31c..0b3f417 100644 --- a/AppleLibs/Network/Requests/DataManager.swift +++ b/AppleLibs/Network/Requests/DataManager.swift @@ -12,12 +12,14 @@ import os.log public protocol HttpResponseFilter { - func handleResponse(request: Request, data: Data?, responseHandler: ResponseHandler?, sender: Any?) throws -> Any? + @available(iOS 15.0.0, *) + func handleResponse(request: Request, data: Data?, responseHandler: ResponseHandler?, sender: Any?) async throws -> Any? } public protocol HttpSuccessFilter { - func handleResponse(data: Data?, response: HTTPURLResponse, responseHandler: ResponseHandler?, sender: Any?) throws -> Any? + @available(iOS 15.0.0, *) + func handleResponse(data: Data?, response: HTTPURLResponse, responseHandler: ResponseHandler?, sender: Any?) async throws -> Any? } public protocol DataManagerDelegate @@ -112,9 +114,9 @@ public class DataManager: NSObject, URLSessionDelegate do { if response.is2xx { - return try self.responseOkFilter.handleResponse(data: data, response: response, responseHandler: responseHandler, sender: sender) + return try await self.responseOkFilter.handleResponse(data: data, response: response, responseHandler: responseHandler, sender: sender) } else if let filter = self.responseFilters[response.statusCode] { - return try filter.handleResponse(request: request, data: data, responseHandler: responseHandler, sender: sender) + return try await filter.handleResponse(request: request, data: data, responseHandler: responseHandler, sender: sender) } else { throw ResponseError.getErrorForStatusCode(code: response.statusCode) } -- GitLab