Axios: Überschriebene Header bei der Erstellung mehrerer Instanzen

Erstellt am 20. Juli 2017  ·  3Kommentare  ·  Quelle: axios/axios

Zusammenfassung

Mir ist aufgefallen, dass, wenn mehrere Instanzen von Axios mit benutzerdefinierter Header-Konfiguration erstellt werden, die neueste alle anderen zuvor definierten Konfigurationen überschreibt. Hier ist das einfachste Code- Snippet , um es zu reproduzieren:

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);

Ergebnisse in:

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

Ich bin mir nicht sicher, ob dies das richtige Verhalten ist, da Instanzen unabhängig sein sollen.

Kontext

  • Axios-Version: zB: v0.16.2
  • Umgebung: zB: Knoten v6.9.2

Hilfreichster Kommentar

Dies ist Teil eines größeren Problems, das wir bald ansprechen werden (und viel später, als es angemessen ist). Siehe #812.

Alle 3 Kommentare

Ich wünschte, ich könnte first.headers.authorization = 'foo' schreiben und es für diese Instanz ändern lassen

Nun, die einzige Möglichkeit, diese Einschränkung zu umgehen, scheint darin zu bestehen, den Header-Wert zu erzwingen:

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

Dies ist Teil eines größeren Problems, das wir bald ansprechen werden (und viel später, als es angemessen ist). Siehe #812.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

varmeh picture varmeh  ·  3Kommentare

Baoyx007 picture Baoyx007  ·  3Kommentare

ghprod picture ghprod  ·  3Kommentare

altruisticsoftware picture altruisticsoftware  ·  3Kommentare

tbaustin picture tbaustin  ·  3Kommentare