1

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

0 に答える 0