В Express, как разделить один запрос на несколько? - PullRequest
0 голосов
/ 19 апреля 2019

В моем проекте 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» :

  1. middleware1 добавит заголовок к запросу.
  2. middleware2 разделит запрос на два запроса "получить мои продукты на складе A" и "получите мои продукты на складе B" . Оба запроса имеют заголовок, добавленный middleware1 .
  3. Оба запроса будут перенаправлены middleware3 .
  4. Оба ответа будут перехвачены в middleware2 , и они будут объединены в один ответ, содержащий продукты на обоих складах.
  5. Окончательный ответ будет отправлен пользователю.

Я хотел бы знать, возможно ли это? И как мне этого добиться? Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...