В моем проекте Node.js + Express у меня есть маршрут, определенный как:
const express = require('express');
const proxy = require('express-http-proxy');
const router = express.Router();
var middleware1 = function (req, res, next) {
...decorate the request...
};
var middleware3 = function (req, res, next) {
return proxy('myURL', {
...some configs...
})(req, res, next);
};
router.use('/mypath',
middleware1,
middleware3
);
В middleware1 я бы хотел украсить запросы, например, добавить несколько заголовков запроса.
В middleware3 я отправлю запрос на прокси.
Теперь я хочу иметь между ними middleware2 . Что он может сделать, это разделить запрос на несколько разных запросов. Затем все запросы будут перенаправлены middleware3 , и все ответы будут объединены в один окончательный ответ и возвращены пользователю.
Например. Пользователь отправляет запрос «получить все мои товары на складе A и складе B» :
- middleware1 добавит заголовок к запросу.
- middleware2 разделит запрос на два запроса "получить мои продукты на складе A" и "получите мои продукты на складе B" . Оба запроса имеют заголовок, добавленный middleware1 .
- Оба запроса будут перенаправлены middleware3 .
- Оба ответа будут перехвачены в middleware2 , и они будут объединены в один ответ, содержащий продукты на обоих складах.
- Окончательный ответ будет отправлен пользователю.
Я хотел бы знать, возможно ли это? И как мне этого добиться? Большое спасибо!