Я обнаружил, что React Native не передает значение HTTP_USER_AGENT Джанго Графену. На Garaphene я получаю заголовок по:
def resolve(cls, root, info, **kwargs):
info.context.META['HTTP_USER_AGENT']
Работает, когда я отправляю запрос через браузер. Однако HTTP_USER_AGENT имеет значение «okhttp / 3.6.0» только при отправке запроса через приложение React Native. Поэтому я попытался изменить значение HTTP_USER_AGENT, установив заголовки axios.
onSubmit = async () => {
if (!this.state.isSubmitting) {
this.setState({isSubmitting: true});
await axios({
url: 'http://192.168.0.6:8000/graphql/',
method: 'post',
headers: {
HTTP_USER_AGENT: 'CCC'
},
data: {
query: `
Это не работает. HTTP_USER_AGENT не изменяется и показывает только «okhttp / 3.6.0». Я попробовал другие пользовательские заголовки и обнаружил, что они тоже не работают. Я не могу просто установить свой собственный заголовок. Почему это так? Единственный заголовок, который я был доступен для изменения, был АВТОРИЗАЦИЯ. Джанго Графен получил значение заголовка, когда я установил
await axios({
url: 'http://192.168.0.6:8000/graphql/',
method: 'post',
headers: {
AUTHORIZATION: 'JWT CCC'
},
и значение было доступно с
info.context.META['HTTP_AUTHORIZATION']
Я понятия не имел, были ли мои предположения неверными.