Fuel Android - Сделать не кэшированный запрос - PullRequest
0 голосов
/ 23 мая 2018

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

 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.

1 Ответ

0 голосов
/ 23 мая 2018

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

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)
                }
            }
        }
...