Ich schreibe eine HTTP-API-Bibliothek für den Einsatz in Atom Electron. Es basiert auf fetch
. Der Server liegt außerhalb meiner Kontrolle, aber er ist in PHP geschrieben und ich kann sehen, dass er Header unter Groß- und Kleinschreibung prüft.fetch() sendet Kleinbuchstaben Header-Schlüssel
Mein Code ist so etwas wie:
const headers = new Headers();
headers.append('Authorization', `Bearer ${key}`);
const init = {
method: 'GET',
headers: headers
}
const req = new Request(baseUrl + '/items?format=json');
return fetch(req, init);
Die Anforderung mit einem 403 FORBIDDEN
Fehler zurückgewiesen. Wenn ich die Anfrage im Electron Newtork Panel ansehe, sind die Request Header vorhanden, aber Authorization
ist authorization
geworden.
Ich weiß, fetch()
folgt nur dem HTTP-Standard, aber gibt es eine einfache Möglichkeit, fetch()
zu bekommen, um die Header zu senden, wie ich sie liefern?
@JaromandaX [Die Spezifikation] (https://fetch.spec.whatwg.org/#terminology-headers) sagt, dass alle Header-Namen _byte-lowcased_ sind. – sdgluck
Ich habe ursprünglich gesagt, dass fetch das NICHT tut - ich kann jetzt sehen, dass es ... das seltsame ist, die Art, wie ich getestet habe, war mit PHP auf nginx Server ... und in meinem Fall sieht PHP "Authorization" richtig - und zwar wenn ich "AuThOrIzAtIOn" übergebe ... php sieht es als "Authorization" ... muss der HTTP-Server sein –
@sdgluck - Ich habe diesen Kommentar entfernt - siehe oben meinen Kommentar! –