Я использую NodeJS и модуль Запрос для выполнения вызовов API в моем приложении. Новый сторонний сервис, с которым я пытаюсь интегрироваться, имеет базовый URL, который меняется с каждым выпуском (т. Е. 'https://release -23.service.com / api / v1 ').
Они предоставляют статический базовый URL-адрес для всех своих конечных точек, которые перенаправляют на последний базовый URL-адрес. Проблема в том, что мне также нужно включить базовый заголовок аутентификации в запрос. Этот заголовок аутентификации не сохраняется, когда происходит перенаправление, поэтому конечным результатом является код состояния 401.
Имеет ли Request какая-либо поддержка для сохранения заголовка auth при перенаправлении?
Я поигрался с добавлением followRedirect: false
к объекту параметров и захватом и повторной попыткой location
из заголовка ответа, но в идеале я хотел бы использовать функцию перенаправления запроса с неповрежденным заголовком auth, чтобы я мог не рискуйте нарушить существующую логику, которая может зависеть от перенаправления.
Вот расширенная версия существующего кода:
const request = require('request');
const options = {
uri: 'https://www.service.com/api/v1',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
auth: {
username: 'username',
password: 'password'
},
json: true,
method: 'GET',
timeout: 30000
};
request(options, function (err, response) {
if (err) {
return err;
}
console.log(response.body);
});