(AFNetworking)如何调整AFHTTPRequestOperation请求中的标头?

时间:2015-05-15 18:33:57

标签: swift afnetworking afhttprequestoperation

创建后如何修改AFHTTPRequestOperation标题?在API请求返回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)
    }

0 个答案:

没有答案