1

AFHTTPRequestOperation创建标题后如何修改标题?在 API 请求返回 a 的情况下401,我需要刷新访问令牌并调整每个AFHTTPRequestOperation的标头,然后使用更新的访问令牌重试相同的请求操作。

下面是我处理由于访问令牌而排队的请求的代码,当前正在刷新。当接收到新的访问令牌时,将调用此方法。

下面的方法有效,但是创建操作请求的新变量并调整变量的标头也会更改原始请求似乎很奇怪。

var authManager = AFOAuth2Manager()

func processHeldRequests() {
        for operation: AFHTTPRequestOperation in heldRequests {
            var token = tokenManager.getToken()
            println("adjusting held operation's request header authorization to new token \(token!)")

            var operationRequest: NSMutableURLRequest = operation.request as! NSMutableURLRequest
            operationRequest.setValue("Bearer \(token!)", forHTTPHeaderField: "Authorization")
            authManager.operationQueue.addOperation(operation)
        }
        heldRequests.removeAll(keepCapacity: false)
    }
4

0 回答 0