Swift: URLSession.shared.dataTask сообщает код состояния 304 = 200?
Я запрашиваю JSON-API следующим образом:
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.addValue(CredentialsProvider.shared.credentials, forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request as URLRequest) { data, response, error in
guard let data = data, let _ = response, error == nil else {
return
}
let response1 = response as! HTTPURLResponse
print(response1.statusCode) // 200 instead of 304
}
Поскольку сервер выполняет кэширование (что я проверил через CharlesProxy), я ожидал бы, что код состояния 304, но 200 записан в журнал - есть ли способ получить "реальный" код состояния?
1 ответ
Установка cachePolicy в.reloadIgnoringCacheData работала для меня.
request.cachePolicy = .reloadIgnoringCacheData