From 7ec216fdd991a86fa7d234ef94dde775277710da Mon Sep 17 00:00:00 2001 From: zigomir Date: Wed, 7 Mar 2018 12:08:00 -0800 Subject: [PATCH] Allow user to define onProxyReq In their vue.config.js --- packages/@vue/cli-service/lib/util/prepareProxy.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/@vue/cli-service/lib/util/prepareProxy.js b/packages/@vue/cli-service/lib/util/prepareProxy.js index 6342dac661..3ea91ee7cf 100644 --- a/packages/@vue/cli-service/lib/util/prepareProxy.js +++ b/packages/@vue/cli-service/lib/util/prepareProxy.js @@ -50,7 +50,7 @@ module.exports = function prepareProxy (proxy, appPublicFolder) { return !fs.existsSync(maybePublicPath) } - function createProxyEntry (target, context) { + function createProxyEntry (target, usersOnProxyReq, context) { if (process.platform === 'win32') { target = resolveLoopback(target) } @@ -80,7 +80,10 @@ module.exports = function prepareProxy (proxy, appPublicFolder) { } }, onProxyReq (proxyReq) { - // Browers may send Origin headers even with same-origin + if (usersOnProxyReq) { + usersOnProxyReq(proxyReq) + } + // Browsers may send Origin headers even with same-origin // requests. To prevent CORS issues, we have to change // the Origin to match the target URL. if (proxyReq.getHeader('origin')) { @@ -118,7 +121,7 @@ module.exports = function prepareProxy (proxy, appPublicFolder) { ) process.exit(1) } - const entry = createProxyEntry(proxy[context].target, context) + const entry = createProxyEntry(proxy[context].target, proxy[context].onProxyReq, context) return Object.assign({}, defaultConfig, proxy[context], entry) }) }