后端服务器更新主体的代理

时间:2019-08-27 04:01:34

标签: angular webpack-dev-server http-proxy

我正在编写一个angular应用程序,并使用webpack / angular提供的proxy-config进行本地开发。 我有一个外部API,当我将应用程序部署到服务器时,它可以工作,它拾取location.href并在正文中发送一些URL。

如果我可以在proxyconfig旁路中做到这一点,那么我不必在代码中写很多环境变量,并且我的代码在本地和服务器上都可以正常工作。

const PROXY_CONFIG = {
    "/api/proxy": {
        "target": "http://serverapi:3000",
        "secure": false,
        "bypass": function (req, res, proxyOptions) {
            if (req.headers.accept.indexOf("html") !== -1) {
                console.log("Skipping proxy for browser request.");
                return "/index.html";
            }
            req.headers["origin"] = targetOrigin; // something like this but with body
            // ## What I want is to update the body of any POST request containing my localhost url to target url as I am converting few of my headers
        }
    }
}

module.exports = PROXY_CONFIG;

这可能吗?我想要的是更新任何包含localUrl的POST请求的正文,并替换为targetUrl。

// something like this in bypass method or anywhere in proxy config
const body = String.fromCharCode.apply(null, new Uint16Array(req.body));
req.body = body.replace('localurl', 'targeturl);

0 个答案:

没有答案