"Middleware" is the function which works with the first promise in the chain, before the actual request. It could be used to prepare networking, do some kind of pre-processing task, cancel request under particular conditions, etc.
// In your configuration
// Remember to `resolve` or `reject` the promise
networking.middleware = { promise in
AuthContainer.serviceNamed("service")?.accessToken { accessToken, error in
if let error == error {
promise.reject(error)
return
}
guard let accessToken = accessToken else {
promise.reject(CustomError())
return
}
self.networking.authenticate(bearerToken: accessToken)
promise.resolve()
}
}
// Send your request like you usually do
networking.GET(request)
.validate()
.toJSONDictionary()
"Middleware" is the function which works with the first promise in the chain, before the actual request. It could be used to prepare networking, do some kind of pre-processing task, cancel request under particular conditions, etc.
For example, in the combination with https://github.com/hyperoslo/OhMyAuth