Топливо Android - сделать запрос без кэширования

В Android я использую Fuel, библиотеку Kotlin, для получения файла JSON. Прямо сейчас мой код выглядит так (url — это переменная строкового типа):

 url.httpGet().responseJson { _, _, result ->
            when(result) {
                is Result.Failure -> {
                    //Do Stuff
                }
                is Result.Success -> {
                    //Do Stuff
                }
            }
        }

Однако я хотел бы получить некэшированную версию файла JSON, расположенного в каталоге url.

Я прочитал это сообщение: fetch (), как сделать некэшируемый запрос? и кажется, что я должен добавить заголовки "pragma: no-cache" и "cache-control: no-cache" к моему запросу. Как я могу это сделать?

Кроме того, есть ли способ проверить, что эти два заголовка отправляются как часть моего запроса в целях отладки?

Пока мой пример кода находится на Kotlin, меня устраивают ответы на Java.


person Roymunson    schedule 22.05.2018    source источник


Ответы (1)


Вот как вы добавляете заголовки:

url.httpGet().header(Pair("pragma","no-cache"),Pair("cache-control","no-cache")).responseJson //Rest of code goes here

Вы можете проверить, что заголовки отправляются с запросом следующим образом:

url.httpGet().header(Pair("pragma","no-cache"),Pair("cache-control","no-cache")).responseJson { request, _, result ->
            //Log the request in string format. This will list the headers.
            Log.d("TEST-APP", request.toString())

            when(result) {
                is Result.Failure -> {
                    cont.resumeWithException(result.getException())
                }
                is Result.Success -> {
                    cont.resume(JsonParser().parse(result.value.content) as JsonObject)
                }
            }
        }
person Roymunson    schedule 23.05.2018