Как читать заголовки ответа и писать заголовки запроса, используя apollo-android

Я пытаюсь использовать библиотеку apollo-android для связи с сервером graphql. Проблема заключается в том, что backend использует заголовки для аутентификации запросов, и я не нашел способов добавить их. Также в запросе на аутентификацию токен отправляется в заголовках, и я не нашел способов прочитать его из ответа.

Люди советуют устанавливать заголовки аутентификации через перехватчики в OkHttpClient, но этот подход не применим в моей ситуации, потому что клиент должен отправлять разные наборы заголовков в разных запросах.

Итак, есть ли обходной путь в этой ситуации? Должен ли я использовать простой клиент отдыха, такой как Retrofit, или создать новые экземпляры ApolloClient и OkHttpClient для каждого нового запроса с желаемым набором заголовков? Или, может быть, есть другие обходные пути?

1 ответ

Люди советуют устанавливать заголовки аутентификации через перехватчики в OkHttpClient, но этот подход не применим в моей ситуации, потому что клиент должен отправлять разные наборы заголовков в разных запросах.

Присвойте методы перебора и поля на ваших перехватчиках, которые принимают различные заголовки. Вызовите эти методы setter до создания ApolloClient запрос, который нуждается в заголовках.

Или научите перехватчик применять различные заголовки для разных запросов на основе характеристик запроса, видимых перехватчику (например, URL).

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