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

Другие вопросы по тегам