【发布时间】:2019-12-06 09:26:43
【问题描述】:
当我收到某个 400 错误时,我一直在考虑使用 alamofire 重试请求,并且到目前为止重试有效,但是我不确定是否可以修改请求对象,以便在重试时它有一个更新的有效载荷。
欢迎任何建议和阅读材料的链接。
这是我的代码:
class HTTP412Retrier: RequestRetrier, RequestAdapter {
func adapt(_ urlRequest: URLRequest) throws -> URLRequest {
print("called") // this is not being printed
return urlRequest
}
func should(_ manager: SessionManager, retry request: Request, with error: Error, completion: @escaping RequestRetryCompletion) {
if let response = request.task?.response as? HTTPURLResponse, response.statusCode == 412 {
completion(request.retryCount < 3, 0.0)
} else {
completion(false, 0.0)
}
}
}
【问题讨论】: