diff --git a/AppleLibs/Network/Requests/DataManager.swift b/AppleLibs/Network/Requests/DataManager.swift index 9eaf31c1e9a714c7f1579413321050c8cc11ee16..0b3f417de87f67867e76e892c7b20ec73a5f75dc 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) }