Me di cuenta de que cuando se crean varias instancias de axios con una configuración de encabezados personalizados, la última anulará cualquier otra configuración definida previamente. Aquí está el fragmento de código más simple para reproducirlo:
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);
Resultados en :
Object
Accept: "application/json, text/plain, */*"
authorization: "bar"
...
No estoy seguro de que este sea el comportamiento correcto ya que se supone que las instancias son independientes.
Desearía poder escribir first.headers.authorization = 'foo'
y hacer que cambie para esa instancia
Bueno, la única forma de eludir esta limitación parece ser forzar el valor del encabezado:
first.get('/posts', {
headers: {
authorization: 'foo',
},
})
Esto es parte de un problema mayor que abordaremos pronto (y mucho más tarde de lo razonable). Ver #812.
Comentario más útil
Esto es parte de un problema mayor que abordaremos pronto (y mucho más tarde de lo razonable). Ver #812.