npm package diff
Package: @forge/tunnel
Versions: 5.10.5-next.2 - 5.11.0-next.3
File: package/out/servers/dev-server.js
Index: package/out/servers/dev-server.js
===================================================================
--- package/out/servers/dev-server.js
+++ package/out/servers/dev-server.js
@@ -6,8 +6,9 @@
const bundler_1 = require("@forge/bundler");
const cli_shared_1 = require("@forge/cli-shared");
const runtime_1 = require("@forge/runtime");
const util_1 = require("../util");
+const http_proxy_middleware_1 = require("http-proxy-middleware");
async function stopServer(server) {
if (!server) {
return;
}
@@ -34,10 +35,35 @@
this.fileSystemReader = fileSystemReader;
this.statsigService = statsigService;
this.i18nResourceBundlingService = i18nResourceBundlingService;
this.app = (0, express_1.default)();
+ this.app.disable('x-powered-by');
+ this.app.disable('etag');
this.app.use(express_1.default.json({ limit: '6mb' }));
this.app.post(`/:fnKey`, this.handleInvocation);
+ const FORGE_SERVICE_PORT = 7071;
+ this.app.use(/^\/forge\/.*\/.*/, (0, http_proxy_middleware_1.createProxyMiddleware)({
+ target: `http://localhost:${FORGE_SERVICE_PORT}`,
+ pathRewrite: { '^/forge/[^/]*': '' },
+ logLevel: 'info',
+ logProvider: () => {
+ return {
+ log: this.logger.trace,
+ debug: this.logger.trace,
+ info: this.logger.trace,
+ warn: this.logger.warn,
+ error: this.logger.error
+ };
+ },
+ onProxyReq: (proxyReq) => {
+ this.logger.info(cli_shared_1.Text.tunnel.container.invoke(proxyReq, FORGE_SERVICE_PORT));
+ },
+ onError: (err, _, res) => {
+ const message = cli_shared_1.Text.tunnel.container.error(err.code ?? err.message);
+ this.logger.warn(message);
+ res.status(500).send(message);
+ }
+ }));
}
async start(port = 0, permissions, remotes) {
this.permissions = permissions;
this.remotes = remotes;