diff --git a/lib/stencil-start.js b/lib/stencil-start.js index 057befff..daf601c7 100755 --- a/lib/stencil-start.js +++ b/lib/stencil-start.js @@ -5,7 +5,7 @@ const path = require('path'); const Cycles = require('./Cycles'); const templateAssemblerModule = require('./template-assembler'); -const { THEME_PATH } = require('../constants'); +const { PACKAGE_INFO, THEME_PATH } = require('../constants'); const Server = require('../server'); const StencilConfigManager = require('./StencilConfigManager'); const ThemeConfig = require('./theme-config'); @@ -131,6 +131,7 @@ class StencilStart { variationIndex: this._themeConfigManager.variationIndex || 0, useCache: cliOptions.cache, themePath: this._themeConfigManager.themePath, + stencilCliVersion: PACKAGE_INFO.version, }); } diff --git a/server/index.js b/server/index.js index 44240ed2..2857ce1e 100644 --- a/server/index.js +++ b/server/index.js @@ -19,6 +19,7 @@ function buildManifest(srcManifest, options) { parsedNormalUrl.protocol + '//' + parsedNormalUrl.host; pluginsByName['./plugins/router/router.module'].apiKey = options.dotStencilFile.apiKey; pluginsByName['./plugins/router/router.module'].port = options.dotStencilFile.port; + pluginsByName['./plugins/router/router.module'].stencilCliVersion = options.stencilCliVersion; pluginsByName['./plugins/renderer/renderer.module'].useCache = options.useCache; pluginsByName['./plugins/renderer/renderer.module'].username = options.dotStencilFile.username; pluginsByName['./plugins/renderer/renderer.module'].token = options.dotStencilFile.token; diff --git a/server/plugins/router/router.module.js b/server/plugins/router/router.module.js index 72439ba1..e3c42493 100644 --- a/server/plugins/router/router.module.js +++ b/server/plugins/router/router.module.js @@ -98,7 +98,6 @@ internals.registerRoutes = (server) => { protocol: 'https', port: 443, passThrough: true, - xforward: false, }, }, options: { @@ -112,12 +111,18 @@ internals.registerRoutes = (server) => { path: internals.paths.storefrontAPI, handler: { proxy: { - host: internals.options.storeUrl.replace(/http[s]?:\/\//, ''), rejectUnauthorized: false, - protocol: 'https', - port: 443, + mapUri: (req) => { + const host = `https://${internals.options.storeUrl.replace( + /http[s]?:\/\//, + '', + )}`; + const urlParams = req.url.search || ''; + const uri = `${host}${req.path}${urlParams}`; + const headers = { 'stencil-cli': internals.options.stencilCliVersion }; + return { uri, headers }; + }, passThrough: true, - xforward: false, }, }, options: {