在Express中,如何将一个请求拆分为多个请求?

时间:2019-04-19 06:47:40

标签: node.js express

在我的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 中,我想装饰请求,例如添加一些请求标头。

中间件3 中,我将代理请求。

现在我要拥有的是它们之间的 middleware2 。它可以做的是将请求分离为一些不同的请求。然后,所有请求都将由 middleware3 代理,并将所有响应合并为一个最终响应并返回给用户。

例如。用户发送一个请求,“将我的所有产品放入仓库A和仓库B”

  1. 中间件1 将为请求添加标头。
  2. 中间件2 会将请求分为两个请求,“将我的产品放入仓库A” “将我的产品放入仓库B” 。这两个请求都具有 middleware1 添加的标头。
  3. 这两个请求都将由 middleware3 代理。
  4. 这两个响应都将在 middleware2 中被拦截,并将它们组合为一个响应,其中包含两个仓库中的产品。
  5. 最终回复将发送给用户。

我想知道是否可行?我怎么能做到呢?非常感谢!

0 个答案:

没有答案