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)
}