Есть ли способ, которым я могу отправить, скажем, запрос REST внутри обработчика маршрута Express, а затем либо перехватить ответ, чтобы применить пользовательскую логику, либо перенаправить его через res
?
* 1003.* Я предполагаю, что мог бы скопировать все различные части ответа REST в
res
(т.е. заголовки, код состояния, тело и т. Д.), Но опять же, я не знаю всех частей, которые мне нужно будет скопироватьточно клонировать ответ.Какой-то автоматический механизм предпочтительнее.
import { Client } from 'node-rest-client-promise';
app.get('/', async (req, res, next) => {
const client = new Client();
const { response } = await this.client.getPromise(url);
switch (response.statusCode) {
case 404:
// Intercept and replace code and body.
res.status(200).send('Other results');
return;
default:
// Otherwise pipe REST response to res.
response.pipe(res);
return;
}
});
Этот фрагмент кода заканчивается просто возвратом кода 200 с пустым телом для любого типа ответа REST, кроме 404.
ПРИМЕЧАНИЕ: нет необходимости использовать node-rest-client-promise
, но я бы предпочел для простоты.