Axios: Cabeçalhos substituídos na criação de várias instâncias

Criado em 20 jul. 2017  ·  3Comentários  ·  Fonte: axios/axios

Resumo

Percebi que quando várias instâncias de axios são criadas com configuração de cabeçalhos personalizados, a mais recente substituirá qualquer outra configuração definida anteriormente. Aqui está o trecho de código mais simples para reproduzi-lo:

const axios = require('axios');
const baseURL = '';

const first = axios.create({ baseURL });
first.defaults.headers.common.authorization = 'foo';
const second = axios.create({ baseURL });
second.defaults.headers.common.authorization = 'bar';

console.log(first.defaults.headers.common);

Resulta em :

Object
    Accept: "application/json, text/plain, */*"
    authorization: "bar"
    ...

Não tenho certeza se esse é o comportamento correto, pois as instâncias devem ser independentes.

Contexto

  • versão axios: ex: v0.16.2
  • Ambiente: por exemplo: nó v6.9.2

Comentários muito úteis

Isso é parte de um problema maior que vamos abordar em breve (e muito mais tarde do que é razoável). Veja #812.

Todos 3 comentários

Eu gostaria de poder escrever first.headers.authorization = 'foo' e mudar para essa instância

Bem, a única maneira de contornar essa limitação parece forçar o valor do cabeçalho:

first.get('/posts', {
    headers: {
        authorization: 'foo',
    },
})

Isso é parte de um problema maior que vamos abordar em breve (e muito mais tarde do que é razoável). Veja #812.

Esta página foi útil?
0 / 5 - 0 avaliações