I am using Alamofire 4.0.1 and I want to set a timeout for my request. I tried the solutions gived in this question:
In the first case
after a lot of try I made it whit the next:
var timeout = 300 // 5 minutes
//Post values
let parameters:Parameters = parameters
//Server value
let url:URL = (url)
//Make the request
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForResource = TimeInterval(timeout)
configuration.timeoutIntervalForRequest = TimeInterval(timeout)
let sessionManager = Alamofire.SessionManager(configuration: configuration)
sessionManager.request(url,parameters:parameters).validate(statusCode: 200..<300).responseJSON { response in
print(response.request) // original URL request
print(response.response) // URL response
print(sessionManager.session.configuration.timeoutIntervalForRequest) // result of response time
print(response.timeline.totalDuration)
switch response.result {
case .success:
if let valJSON = response.result.value {
//use your json result
}
case .failure (let error):
print("\n\nAuth request failed with error:\n \(error)")
}
}
I hope it helps ;)