Alamofire - 创建后修改请求对象

时间:2015-11-18 14:38:58

标签: ios http-headers request alamofire

简短有没有办法在NSURLRequest对象创建之后修改其支持的Request(标题,正文或其他)?

很长:我有一个自定义ManagerstartRequestsImmediately设置为false。如果我的访问令牌当前正在刷新,则所有请求都在等待刷新完成,然后它们将恢复。 当然,我需要修改他们的HTTP标头以在恢复之前更新访问令牌。

我不能直接跟踪NSURLRequest然后重新创建Request对象,因为我需要保留先前为这些请求设置的所有完成闭包。

有人找到办法吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用RequestAdapter。例如:

class MyAdapter: RequestAdapter {
    func adapt(_ urlRequest: URLRequest) throws -> URLRequest {
        var urlRequest = urlRequest
        urlRequest.setValue("Bar", forHTTPHeaderField: "X-Foo")
        return urlRequest
    }
}

// Then...

let manager = SessionManager()
manager.adapter = MyAdapter()

manager.request("https://httpbin.org/get")