Подтвердить что ты не робот

Fetch() отправляет заголовки заголовков нижнего регистра

Я пишу библиотеку API HTTP для использования в Atom Electron. Он основан на fetch. Сервер находится вне моего контроля, но написан на PHP, и я вижу, что он проверяет заголовки с учетом регистра.

Мой код выглядит примерно так:

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

Запрос отклоняется с ошибкой 403 FORBIDDEN. Когда я смотрю на запрос в панели Electron Newtork, заголовок запроса присутствует, но Authorization стал Authorization.

Я знаю, что fetch() просто соответствует стандарту HTTP, но есть ли простой способ получить fetch() для отправки заголовков по мере их поставки?

4b9b3361

Ответ 2

Используя выборку и делая аналогичную вещь, мы делаем следующее:

const GLOBALS = require('./Globals');
const HEADERS = {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
};
const resourceURL = '/some/endpoint'
const body = '';

var request = new Request(`${GLOBALS.API_ENDPOINT}${resourceURL}`, {
                        method: 'GET',
                        headers: new Headers(Object.assign(HEADERS, {'Authorization': `JWT ${token}`})),
                        body: body ? JSON.stringify(body) : null
                    }); 

return fetch(request)
    .then(res => consume)

Take является псевдо псевдокодом, так как есть некоторые функциональные параметры, которые мы передаем, которые вычисляются в шаблоне литерала.