Мне нужно было создать структуру объекта заголовка в экземпляре, чтобы переопределить глобальный заголовок:
Фрагмент кода ниже не работает (но не вызывает ошибок); глобальный заголовок используется при использовании экземпляра:
// Index.js
axios.defaults.headers.common['Authorization'] = 'AUTH_TOKEN';
// myAxios.js
const instance = axios.create({
baseURL: 'https://jsonplaceholder.typicode.com'
});
instance.defaults.headers.common['Authorization'] = 'AUTH_TOKEN_FROM_INSTANCE';
Это работает, заголовок экземпляра переопределяет глобальное значение по умолчанию:
// Index.js
axios.defaults.headers.common['Authorization'] = 'AUTH_TOKEN';
// myAxios.js
const instance = axios.create({
baseURL: 'https://jsonplaceholder.typicode.com',
headers: {
common: {
Authorization: 'AUTH_TOKEN_FROM_INSTANCE'
}
}
});
Мне кажется, что эта структура объекта должна быть создана по умолчанию при использовании # create.
=========================================== ===========================================
Дополнительно, если вы хотите сбросить заголовок не использует delete
. Вот тест:
it('should remove default headers when config indicates', function (done) {
var instance = axios.create();
instance.defaults.headers.common['Content-Type'] = 'application/json';
instance.post('/foo/bar/', {
firstName: 'foo',
lastName: 'bar'
}, {
headers: {
'Content-Type': null
}
});
getAjaxRequest().then(function (request) {
testHeaderValue(request.requestHeaders, 'Content-Type', null);
done();
});
});