Skip to content
Snippets Groups Projects
Commit 4b14ac2f authored by Tobias Ullerich's avatar Tobias Ullerich
Browse files

Make response handlers async

parent a4d54c36
No related branches found
No related tags found
No related merge requests found
......@@ -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)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment