Я пытаюсь использовать apollo RESTDataSource, чтобы обернуть мои остальные API. Мне нужно передать некоторые заголовки в вызов API.
Я следую примеру из документов: https://www.apollographql.com/docs/apollo-server/features/data-sources#intercepting-fetches
Это мой код:
willSendRequest(request: RequestOptions) {
console.log(`request 1: ${JSON.stringify(request)}`);
request.headers.set('Authorization', this.context.authorization);
console.log(`request 2: ${JSON.stringify(request)}`);
}
Я ожидаю, что заголовки будут содержать «Авторизация». Но там всегда пусто.
Лог из вышеприведенного кода:
request 1: {"method":"POST","path":"partnerinvoices","body":{"command": "input","params":{},"headers":{}}
request 2: {"method":"POST","path":"partnerinvoices","body":{"command":"input","params":{},"headers":{}}
Я могу переопределить тело и параметры в методе willSendRequest
без проблем.