(使用iOS 9,Swift 2,Alamofire 3)
我的应用与REST服务交互,该服务需要标头中的会话令牌。如果在调用manager.request()之前会话令牌尚未可用,则没有理由仅发送请求以使其失败。所以我想用我的自己的错误中止请求,并让请求的链接响应处理程序处理它 - 即调用方不会知道请求实际上从未发送到服务器。
使用Alamofire 3的最佳方式是什么?
任何与Request.cancel()具有相同效果但有自定义错误的方法,如下所示?:
static func request(method: Alamofire.Method, _ URLString: URLStringConvertible, parameters: [String: AnyObject]? = nil) -> Request {
let api = apiManager.sharedInstance
guard let sessionToken = api.sessionToken else {
let req = api.alamofireManager.request(method, URLString, parameters)
req.cancel() // ***I'd like to do: req.cancelWithError(.NoSessionToken)
return req
}
// Create request and add session token to header
// ...
}