宽窄优行-由【嘉易行】项目成品而来
younger_times
2023-04-06 a1ae6802080a22e6e6ce6d0935e95facb1daca5c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import Foundation
 
// Workaround for new asynchronous handling of Alamofire's request creation.
struct RequestTypeWrapper: RequestType {
 
    var request: URLRequest? {
        return _urlRequest
    }
 
    var sessionHeaders: [String: String] {
        return _request.sessionHeaders
    }
 
    private var _request: Request
    private var _urlRequest: URLRequest?
 
    init(request: Request, urlRequest: URLRequest?) {
        self._request = request
        self._urlRequest = urlRequest
    }
 
    func authenticate(username: String, password: String, persistence: URLCredential.Persistence) -> RequestTypeWrapper {
        let newRequest = _request.authenticate(username: username, password: password, persistence: persistence)
        return RequestTypeWrapper(request: newRequest, urlRequest: _urlRequest)
    }
 
    func authenticate(with credential: URLCredential) -> RequestTypeWrapper {
        let newRequest = _request.authenticate(with: credential)
        return RequestTypeWrapper(request: newRequest, urlRequest: _urlRequest)
    }
 
    func cURLDescription(calling handler: @escaping (String) -> Void) -> RequestTypeWrapper {
        _request.cURLDescription(calling: handler)
        return self
    }
}