Я пытаюсь преобразовать старый код swift в новый. У меня проблемы с mutable.HTTPBody это не имеет никакого значения в новом коде. Это потому, что я использую URLRequest вместо NSMutableURLRequest. Как мне это исправить?
Swift 2 (старый код):
let mutableURLRequest = NSMutableURLRequest(URL: rootURL.URLByAppendingPathComponent(route.path))
mutableURLRequest.HTTPMethod = method.rawValue
encoding = Alamofire.ParameterEncoding.JSON
let (request, error) = encoding.encode(mutableURLRequest, parameters: route.parameters)
if error != nil { fatalError(error!.description) }
if let mutable: NSMutableURLRequest = request {
if let key = sessionKey {
let sessionIdHeader = SessionIdHeader(sessionKey: key, sessionId: sessionId, body: mutable.HTTPBody)
mutable.setValue(sessionIdHeader.stringValue(), forHTTPHeaderField: "Authorization")
}
}
return request
Swift 4 (новый код конверсии):
let url = URL(string: route.path, relativeTo: rootURL)
var mutableURLRequest = URLRequest(url:url!)
mutableURLRequest.HTTPMethod = method.rawValue
encoding = Alamofire.ParameterEncoding.JSON
if let key = sessionKey {
let sessionIdHeader = SessionIdHeader(sessionKey: key, sessionId: sessionId, body: mutableURLRequest.httpBody)
mutableURLRequest.setValue(sessionIdHeader.stringValue(), forHTTPHeaderField: "Authorization")
}
return try encoding.encode(mutableURLRequest, with: route.parameters)