This commit is contained in:
2022-07-18 02:50:52 +00:00
parent befd344ab0
commit 06181b34d6
8569 changed files with 818704 additions and 352705 deletions
+18
View File
@@ -0,0 +1,18 @@
import { Module } from '@nuxt/types';
import { Options, Filter } from 'http-proxy-middleware';
declare type ProxyContext = Filter | Options;
declare type ProxyOptionsObject = {
[target: string]: Options;
};
declare type ProxyOptionsArray = Array<[ProxyContext, Options?] | Options | string>;
declare type NuxtProxyOptions = ProxyOptionsObject | ProxyOptionsArray;
declare module '@nuxt/types' {
interface Configuration {
proxy?: NuxtProxyOptions;
}
}
declare const proxyModule: Module<Options>;
export default proxyModule;
+57
View File
@@ -0,0 +1,57 @@
'use strict';
const httpProxyMiddleware = require('http-proxy-middleware');
function getProxyEntries(proxyOptions, defaults) {
const applyDefaults = (opts) => ({...defaults, ...opts});
const normalizeTarget = (input) => typeof input === "object" ? input : {target: input};
const proxyEntries = [];
if (!proxyOptions) {
return proxyEntries;
}
if (!Array.isArray(proxyOptions)) {
for (const key in proxyOptions) {
proxyEntries.push({
context: key,
options: applyDefaults(normalizeTarget(proxyOptions[key]))
});
}
return proxyEntries;
}
for (const input of proxyOptions) {
if (Array.isArray(input)) {
proxyEntries.push({
context: input[0],
options: applyDefaults(normalizeTarget(input[1]))
});
} else {
proxyEntries.push({
context: input,
options: applyDefaults()
});
}
}
return proxyEntries;
}
const proxyModule = function(options2) {
const nuxt = this.nuxt;
if (!nuxt.options.server || !nuxt.options.proxy) {
return;
}
const defaults = {
changeOrigin: true,
ws: true,
...options2
};
const proxyEntries = getProxyEntries(nuxt.options.proxy, defaults);
for (const proxyEntry of proxyEntries) {
this.addServerMiddleware({
prefix: false,
handler: httpProxyMiddleware.createProxyMiddleware(proxyEntry.context, proxyEntry.options)
});
}
};
proxyModule.meta = require("../package.json");
module.exports = proxyModule;