Как читать заголовки ответа и писать заголовки запроса, используя apollo-android
Я пытаюсь использовать библиотеку apollo-android для связи с сервером graphql. Проблема заключается в том, что backend использует заголовки для аутентификации запросов, и я не нашел способов добавить их. Также в запросе на аутентификацию токен отправляется в заголовках, и я не нашел способов прочитать его из ответа.
Люди советуют устанавливать заголовки аутентификации через перехватчики в OkHttpClient, но этот подход не применим в моей ситуации, потому что клиент должен отправлять разные наборы заголовков в разных запросах.
Итак, есть ли обходной путь в этой ситуации? Должен ли я использовать простой клиент отдыха, такой как Retrofit, или создать новые экземпляры ApolloClient и OkHttpClient для каждого нового запроса с желаемым набором заголовков? Или, может быть, есть другие обходные пути?
1 ответ
Люди советуют устанавливать заголовки аутентификации через перехватчики в OkHttpClient, но этот подход не применим в моей ситуации, потому что клиент должен отправлять разные наборы заголовков в разных запросах.
Присвойте методы перебора и поля на ваших перехватчиках, которые принимают различные заголовки. Вызовите эти методы setter до создания ApolloClient
запрос, который нуждается в заголовках.
Или научите перехватчик применять различные заголовки для разных запросов на основе характеристик запроса, видимых перехватчику (например, URL).