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

Remove data request method with callback

parent bb061ffc
Branches
No related tags found
No related merge requests found
......@@ -87,52 +87,6 @@ public class DataManager: NSObject, URLSessionDelegate
return url
}
@discardableResult
public func request(request r: Request,
responseHandler: ResponseHandler? = nil,
sender: Any? = nil,
promise: Promise<Any?, ResponseError> = Promise<Any?, ResponseError>())
-> Future<Any?, ResponseError> {
if #available(iOS 14.0, *) {
os_log("Request: \(r)")
} else {
print("Request: \(r)")
}
let request = delegate?.manipulateRequest(request: r) ?? r
guard let req: URLRequest = createUrlRequest(request: request) else {
return promise.future
}
let task = urlSession.dataTask(with: req) { data, response, error in
if let error: NSError = error as NSError? {
promise.fail(error: self.determineResponseError(error))
return
}
guard let response: HTTPURLResponse = response as? HTTPURLResponse else {
promise.fail(error: ResponseError.networkError(error: .unknown()))
return
}
do {
if response.is2xx {
let result = try self.responseOkFilter.handleResponse(data: data, response: response, responseHandler: responseHandler, sender: sender)
promise.succeed(value: result)
} else if let filter = self.responseFilters[response.statusCode] {
let result = try filter.handleResponse(request: request, data: data, responseHandler: responseHandler, sender: sender)
promise.succeed(value: result)
} else {
promise.fail(error: ResponseError.getErrorForStatusCode(code: response.statusCode))
}
} catch {
promise.fail(error: ResponseError.clientError(error: error))
}
}
task.resume()
return promise.future
}
@available(iOS 15.0, *)
@available(macCatalyst 15.0.0, *)
@discardableResult
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment