Initial boiler plate project
This commit is contained in:
6
node_modules/next/dist/server/lib/server-ipc/index.d.ts
generated
vendored
Normal file
6
node_modules/next/dist/server/lib/server-ipc/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
import type NextServer from '../../next-server';
|
||||
export declare function createIpcServer(server: InstanceType<typeof NextServer>): Promise<{
|
||||
ipcPort: number;
|
||||
ipcServer: import('http').Server;
|
||||
ipcValidationKey: string;
|
||||
}>;
|
||||
76
node_modules/next/dist/server/lib/server-ipc/index.js
generated
vendored
Normal file
76
node_modules/next/dist/server/lib/server-ipc/index.js
generated
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "createIpcServer", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return createIpcServer;
|
||||
}
|
||||
});
|
||||
const _render = require("../../render");
|
||||
const _crypto = /*#__PURE__*/ _interop_require_default(require("crypto"));
|
||||
const _iserror = /*#__PURE__*/ _interop_require_default(require("../../../lib/is-error"));
|
||||
const _requestutils = require("./request-utils");
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
async function createIpcServer(server) {
|
||||
// Generate a random key in memory to validate messages from other processes.
|
||||
// This is just a simple guard against other processes attempting to send
|
||||
// traffic to the IPC server.
|
||||
const ipcValidationKey = _crypto.default.randomBytes(32).toString("hex");
|
||||
const ipcServer = require("http").createServer(async (req, res)=>{
|
||||
try {
|
||||
const url = new URL(req.url || "/", "http://n");
|
||||
const key = url.searchParams.get("key");
|
||||
if (key !== ipcValidationKey) {
|
||||
return res.end();
|
||||
}
|
||||
const method = url.searchParams.get("method");
|
||||
const args = JSON.parse(url.searchParams.get("args") || "[]");
|
||||
if (!method || !Array.isArray(args)) {
|
||||
return res.end();
|
||||
}
|
||||
if (typeof server[method] === "function") {
|
||||
var _args_;
|
||||
if (method === "logErrorWithOriginalStack" && ((_args_ = args[0]) == null ? void 0 : _args_.stack)) {
|
||||
args[0] = (0, _requestutils.deserializeErr)(args[0]);
|
||||
}
|
||||
let result = await server[method](...args);
|
||||
if (result && typeof result === "object" && result.stack) {
|
||||
result = (0, _render.errorToJSON)(result);
|
||||
}
|
||||
res.end(JSON.stringify(result || ""));
|
||||
}
|
||||
} catch (err) {
|
||||
if ((0, _iserror.default)(err) && err.code !== "ENOENT") {
|
||||
console.error(err);
|
||||
}
|
||||
res.end(JSON.stringify({
|
||||
err: {
|
||||
name: err.name,
|
||||
message: err.message,
|
||||
stack: err.stack
|
||||
}
|
||||
}));
|
||||
}
|
||||
});
|
||||
const ipcPort = await new Promise((resolveIpc)=>{
|
||||
ipcServer.listen(0, server.hostname, ()=>{
|
||||
const addr = ipcServer.address();
|
||||
if (addr && typeof addr === "object") {
|
||||
resolveIpc(addr.port);
|
||||
}
|
||||
});
|
||||
});
|
||||
return {
|
||||
ipcPort,
|
||||
ipcServer,
|
||||
ipcValidationKey
|
||||
};
|
||||
}
|
||||
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/next/dist/server/lib/server-ipc/index.js.map
generated
vendored
Normal file
1
node_modules/next/dist/server/lib/server-ipc/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../src/server/lib/server-ipc/index.ts"],"names":["createIpcServer","server","ipcValidationKey","crypto","randomBytes","toString","ipcServer","require","createServer","req","res","url","URL","key","searchParams","get","end","method","args","JSON","parse","Array","isArray","stack","deserializeErr","result","errorToJSON","stringify","err","isError","code","console","error","name","message","ipcPort","Promise","resolveIpc","listen","hostname","addr","address","port"],"mappings":";;;;+BASsBA;;;eAAAA;;;wBARM;+DACT;gEACC;8BACW;;;;;;AAKxB,eAAeA,gBACpBC,MAAuC;IAMvC,6EAA6E;IAC7E,yEAAyE;IACzE,6BAA6B;IAC7B,MAAMC,mBAAmBC,eAAM,CAACC,WAAW,CAAC,IAAIC,QAAQ,CAAC;IAEzD,MAAMC,YAAY,AAACC,QAAQ,QAAkCC,YAAY,CACvE,OAAOC,KAAKC;QACV,IAAI;YACF,MAAMC,MAAM,IAAIC,IAAIH,IAAIE,GAAG,IAAI,KAAK;YACpC,MAAME,MAAMF,IAAIG,YAAY,CAACC,GAAG,CAAC;YAEjC,IAAIF,QAAQX,kBAAkB;gBAC5B,OAAOQ,IAAIM,GAAG;YAChB;YAEA,MAAMC,SAASN,IAAIG,YAAY,CAACC,GAAG,CAAC;YACpC,MAAMG,OAAcC,KAAKC,KAAK,CAACT,IAAIG,YAAY,CAACC,GAAG,CAAC,WAAW;YAE/D,IAAI,CAACE,UAAU,CAACI,MAAMC,OAAO,CAACJ,OAAO;gBACnC,OAAOR,IAAIM,GAAG;YAChB;YAEA,IAAI,OAAO,AAACf,MAAc,CAACgB,OAAO,KAAK,YAAY;oBACHC;gBAA9C,IAAID,WAAW,iCAA+BC,SAAAA,IAAI,CAAC,EAAE,qBAAPA,OAASK,KAAK,GAAE;oBAC5DL,IAAI,CAAC,EAAE,GAAGM,IAAAA,4BAAc,EAACN,IAAI,CAAC,EAAE;gBAClC;gBACA,IAAIO,SAAS,MAAM,AAACxB,MAAc,CAACgB,OAAO,IAAIC;gBAE9C,IAAIO,UAAU,OAAOA,WAAW,YAAYA,OAAOF,KAAK,EAAE;oBACxDE,SAASC,IAAAA,mBAAW,EAACD;gBACvB;gBACAf,IAAIM,GAAG,CAACG,KAAKQ,SAAS,CAACF,UAAU;YACnC;QACF,EAAE,OAAOG,KAAU;YACjB,IAAIC,IAAAA,gBAAO,EAACD,QAAQA,IAAIE,IAAI,KAAK,UAAU;gBACzCC,QAAQC,KAAK,CAACJ;YAChB;YACAlB,IAAIM,GAAG,CACLG,KAAKQ,SAAS,CAAC;gBACbC,KAAK;oBAAEK,MAAML,IAAIK,IAAI;oBAAEC,SAASN,IAAIM,OAAO;oBAAEX,OAAOK,IAAIL,KAAK;gBAAC;YAChE;QAEJ;IACF;IAGF,MAAMY,UAAU,MAAM,IAAIC,QAAgB,CAACC;QACzC/B,UAAUgC,MAAM,CAAC,GAAGrC,OAAOsC,QAAQ,EAAE;YACnC,MAAMC,OAAOlC,UAAUmC,OAAO;YAE9B,IAAID,QAAQ,OAAOA,SAAS,UAAU;gBACpCH,WAAWG,KAAKE,IAAI;YACtB;QACF;IACF;IAEA,OAAO;QACLP;QACA7B;QACAJ;IACF;AACF"}
|
||||
7
node_modules/next/dist/server/lib/server-ipc/invoke-request.d.ts
generated
vendored
Normal file
7
node_modules/next/dist/server/lib/server-ipc/invoke-request.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import type { IncomingMessage } from 'http';
|
||||
import type { Readable } from 'stream';
|
||||
export declare const invokeRequest: (targetUrl: string, requestInit: {
|
||||
headers: IncomingMessage['headers'];
|
||||
method: IncomingMessage['method'];
|
||||
signal?: AbortSignal;
|
||||
}, readableBody?: Readable | ReadableStream) => Promise<Response>;
|
||||
33
node_modules/next/dist/server/lib/server-ipc/invoke-request.js
generated
vendored
Normal file
33
node_modules/next/dist/server/lib/server-ipc/invoke-request.js
generated
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "invokeRequest", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return invokeRequest;
|
||||
}
|
||||
});
|
||||
const _utils = require("./utils");
|
||||
const invokeRequest = async (targetUrl, requestInit, readableBody)=>{
|
||||
const invokeHeaders = (0, _utils.filterReqHeaders)({
|
||||
"cache-control": "",
|
||||
...requestInit.headers
|
||||
}, _utils.ipcForbiddenHeaders);
|
||||
return await fetch(targetUrl, {
|
||||
headers: invokeHeaders,
|
||||
method: requestInit.method,
|
||||
redirect: "manual",
|
||||
signal: requestInit.signal,
|
||||
...requestInit.method !== "GET" && requestInit.method !== "HEAD" && readableBody ? {
|
||||
body: readableBody,
|
||||
duplex: "half"
|
||||
} : {},
|
||||
next: {
|
||||
// @ts-ignore
|
||||
internal: true
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//# sourceMappingURL=invoke-request.js.map
|
||||
1
node_modules/next/dist/server/lib/server-ipc/invoke-request.js.map
generated
vendored
Normal file
1
node_modules/next/dist/server/lib/server-ipc/invoke-request.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../src/server/lib/server-ipc/invoke-request.ts"],"names":["invokeRequest","targetUrl","requestInit","readableBody","invokeHeaders","filterReqHeaders","headers","ipcForbiddenHeaders","fetch","method","redirect","signal","body","duplex","next","internal"],"mappings":";;;;+BAIaA;;;eAAAA;;;uBAFyC;AAE/C,MAAMA,gBAAgB,OAC3BC,WACAC,aAKAC;IAEA,MAAMC,gBAAgBC,IAAAA,uBAAgB,EACpC;QACE,iBAAiB;QACjB,GAAGH,YAAYI,OAAO;IACxB,GACAC,0BAAmB;IAGrB,OAAO,MAAMC,MAAMP,WAAW;QAC5BK,SAASF;QACTK,QAAQP,YAAYO,MAAM;QAC1BC,UAAU;QACVC,QAAQT,YAAYS,MAAM;QAE1B,GAAIT,YAAYO,MAAM,KAAK,SAC3BP,YAAYO,MAAM,KAAK,UACvBN,eACI;YACES,MAAMT;YACNU,QAAQ;QACV,IACA,CAAC,CAAC;QAENC,MAAM;YACJ,aAAa;YACbC,UAAU;QACZ;IACF;AACF"}
|
||||
8
node_modules/next/dist/server/lib/server-ipc/request-utils.d.ts
generated
vendored
Normal file
8
node_modules/next/dist/server/lib/server-ipc/request-utils.d.ts
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
export declare const deserializeErr: (serializedErr: any) => any;
|
||||
export declare function invokeIpcMethod({ fetchHostname, method, args, ipcPort, ipcKey, }: {
|
||||
fetchHostname?: string;
|
||||
method: string;
|
||||
args: any[];
|
||||
ipcPort?: string;
|
||||
ipcKey?: string;
|
||||
}): Promise<any>;
|
||||
60
node_modules/next/dist/server/lib/server-ipc/request-utils.js
generated
vendored
Normal file
60
node_modules/next/dist/server/lib/server-ipc/request-utils.js
generated
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
0 && (module.exports = {
|
||||
deserializeErr: null,
|
||||
invokeIpcMethod: null
|
||||
});
|
||||
function _export(target, all) {
|
||||
for(var name in all)Object.defineProperty(target, name, {
|
||||
enumerable: true,
|
||||
get: all[name]
|
||||
});
|
||||
}
|
||||
_export(exports, {
|
||||
deserializeErr: function() {
|
||||
return deserializeErr;
|
||||
},
|
||||
invokeIpcMethod: function() {
|
||||
return invokeIpcMethod;
|
||||
}
|
||||
});
|
||||
const _errorsource = require("../../../shared/lib/error-source");
|
||||
const _utils = require("../../../shared/lib/utils");
|
||||
const _invokerequest = require("./invoke-request");
|
||||
const deserializeErr = (serializedErr)=>{
|
||||
if (!serializedErr || typeof serializedErr !== "object" || !serializedErr.stack) {
|
||||
return serializedErr;
|
||||
}
|
||||
let ErrorType = Error;
|
||||
if (serializedErr.name === "PageNotFoundError") {
|
||||
ErrorType = _utils.PageNotFoundError;
|
||||
}
|
||||
const err = new ErrorType(serializedErr.message);
|
||||
err.stack = serializedErr.stack;
|
||||
err.name = serializedErr.name;
|
||||
err.digest = serializedErr.digest;
|
||||
if (process.env.NODE_ENV === "development" && process.env.NEXT_RUNTIME !== "edge") {
|
||||
(0, _errorsource.decorateServerError)(err, serializedErr.source || "server");
|
||||
}
|
||||
return err;
|
||||
};
|
||||
async function invokeIpcMethod({ fetchHostname = "localhost", method, args, ipcPort, ipcKey }) {
|
||||
if (ipcPort) {
|
||||
const res = await (0, _invokerequest.invokeRequest)(`http://${fetchHostname}:${ipcPort}?key=${ipcKey}&method=${method}&args=${encodeURIComponent(JSON.stringify(args))}`, {
|
||||
method: "GET",
|
||||
headers: {}
|
||||
});
|
||||
const body = await res.text();
|
||||
if (body.startsWith("{") && body.endsWith("}")) {
|
||||
const parsedBody = JSON.parse(body);
|
||||
if (parsedBody && typeof parsedBody === "object" && "err" in parsedBody && "stack" in parsedBody.err) {
|
||||
throw deserializeErr(parsedBody.err);
|
||||
}
|
||||
return parsedBody;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=request-utils.js.map
|
||||
1
node_modules/next/dist/server/lib/server-ipc/request-utils.js.map
generated
vendored
Normal file
1
node_modules/next/dist/server/lib/server-ipc/request-utils.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../src/server/lib/server-ipc/request-utils.ts"],"names":["deserializeErr","invokeIpcMethod","serializedErr","stack","ErrorType","Error","name","PageNotFoundError","err","message","digest","process","env","NODE_ENV","NEXT_RUNTIME","decorateServerError","source","fetchHostname","method","args","ipcPort","ipcKey","res","invokeRequest","encodeURIComponent","JSON","stringify","headers","body","text","startsWith","endsWith","parsedBody","parse"],"mappings":";;;;;;;;;;;;;;;IAIaA,cAAc;eAAdA;;IA4BSC,eAAe;eAAfA;;;6BAhCc;uBACF;+BACJ;AAEvB,MAAMD,iBAAiB,CAACE;IAC7B,IACE,CAACA,iBACD,OAAOA,kBAAkB,YACzB,CAACA,cAAcC,KAAK,EACpB;QACA,OAAOD;IACT;IACA,IAAIE,YAAiBC;IAErB,IAAIH,cAAcI,IAAI,KAAK,qBAAqB;QAC9CF,YAAYG,wBAAiB;IAC/B;IAEA,MAAMC,MAAM,IAAIJ,UAAUF,cAAcO,OAAO;IAC/CD,IAAIL,KAAK,GAAGD,cAAcC,KAAK;IAC/BK,IAAIF,IAAI,GAAGJ,cAAcI,IAAI;IAC3BE,IAAYE,MAAM,GAAGR,cAAcQ,MAAM;IAE3C,IACEC,QAAQC,GAAG,CAACC,QAAQ,KAAK,iBACzBF,QAAQC,GAAG,CAACE,YAAY,KAAK,QAC7B;QACAC,IAAAA,gCAAmB,EAACP,KAAKN,cAAcc,MAAM,IAAI;IACnD;IACA,OAAOR;AACT;AAEO,eAAeP,gBAAgB,EACpCgB,gBAAgB,WAAW,EAC3BC,MAAM,EACNC,IAAI,EACJC,OAAO,EACPC,MAAM,EAOP;IACC,IAAID,SAAS;QACX,MAAME,MAAM,MAAMC,IAAAA,4BAAa,EAC7B,CAAC,OAAO,EAAEN,cAAc,CAAC,EAAEG,QAAQ,KAAK,EAAEC,OAAO,QAAQ,EACvDH,OACD,MAAM,EAAEM,mBAAmBC,KAAKC,SAAS,CAACP,OAAO,CAAC,EACnD;YACED,QAAQ;YACRS,SAAS,CAAC;QACZ;QAEF,MAAMC,OAAO,MAAMN,IAAIO,IAAI;QAE3B,IAAID,KAAKE,UAAU,CAAC,QAAQF,KAAKG,QAAQ,CAAC,MAAM;YAC9C,MAAMC,aAAaP,KAAKQ,KAAK,CAACL;YAE9B,IACEI,cACA,OAAOA,eAAe,YACtB,SAASA,cACT,WAAWA,WAAWxB,GAAG,EACzB;gBACA,MAAMR,eAAegC,WAAWxB,GAAG;YACrC;YACA,OAAOwB;QACT;IACF;AACF"}
|
||||
3
node_modules/next/dist/server/lib/server-ipc/utils.d.ts
generated
vendored
Normal file
3
node_modules/next/dist/server/lib/server-ipc/utils.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export declare const ipcForbiddenHeaders: string[];
|
||||
export declare const actionsForbiddenHeaders: string[];
|
||||
export declare const filterReqHeaders: (headers: Record<string, undefined | string | number | string[]>, forbiddenHeaders: string[]) => Record<string, string | string[] | undefined>;
|
||||
57
node_modules/next/dist/server/lib/server-ipc/utils.js
generated
vendored
Normal file
57
node_modules/next/dist/server/lib/server-ipc/utils.js
generated
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
0 && (module.exports = {
|
||||
actionsForbiddenHeaders: null,
|
||||
filterReqHeaders: null,
|
||||
ipcForbiddenHeaders: null
|
||||
});
|
||||
function _export(target, all) {
|
||||
for(var name in all)Object.defineProperty(target, name, {
|
||||
enumerable: true,
|
||||
get: all[name]
|
||||
});
|
||||
}
|
||||
_export(exports, {
|
||||
actionsForbiddenHeaders: function() {
|
||||
return actionsForbiddenHeaders;
|
||||
},
|
||||
filterReqHeaders: function() {
|
||||
return filterReqHeaders;
|
||||
},
|
||||
ipcForbiddenHeaders: function() {
|
||||
return ipcForbiddenHeaders;
|
||||
}
|
||||
});
|
||||
const ipcForbiddenHeaders = [
|
||||
"accept-encoding",
|
||||
"keepalive",
|
||||
"keep-alive",
|
||||
"content-encoding",
|
||||
"transfer-encoding",
|
||||
// https://github.com/nodejs/undici/issues/1470
|
||||
"connection",
|
||||
// marked as unsupported by undici: https://github.com/nodejs/undici/blob/c83b084879fa0bb8e0469d31ec61428ac68160d5/lib/core/request.js#L354
|
||||
"expect"
|
||||
];
|
||||
const actionsForbiddenHeaders = [
|
||||
...ipcForbiddenHeaders,
|
||||
"content-length",
|
||||
"set-cookie"
|
||||
];
|
||||
const filterReqHeaders = (headers, forbiddenHeaders)=>{
|
||||
// Some browsers are not matching spec and sending Content-Length: 0. This causes issues in undici
|
||||
// https://github.com/nodejs/undici/issues/2046
|
||||
if (headers["content-length"] && headers["content-length"] === "0") {
|
||||
delete headers["content-length"];
|
||||
}
|
||||
for (const [key, value] of Object.entries(headers)){
|
||||
if (forbiddenHeaders.includes(key) || !(Array.isArray(value) || typeof value === "string")) {
|
||||
delete headers[key];
|
||||
}
|
||||
}
|
||||
return headers;
|
||||
};
|
||||
|
||||
//# sourceMappingURL=utils.js.map
|
||||
1
node_modules/next/dist/server/lib/server-ipc/utils.js.map
generated
vendored
Normal file
1
node_modules/next/dist/server/lib/server-ipc/utils.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../src/server/lib/server-ipc/utils.ts"],"names":["actionsForbiddenHeaders","filterReqHeaders","ipcForbiddenHeaders","headers","forbiddenHeaders","key","value","Object","entries","includes","Array","isArray"],"mappings":";;;;;;;;;;;;;;;;IAYaA,uBAAuB;eAAvBA;;IAMAC,gBAAgB;eAAhBA;;IAlBAC,mBAAmB;eAAnBA;;;AAAN,MAAMA,sBAAsB;IACjC;IACA;IACA;IACA;IACA;IACA,+CAA+C;IAC/C;IACA,2IAA2I;IAC3I;CACD;AAEM,MAAMF,0BAA0B;OAClCE;IACH;IACA;CACD;AAEM,MAAMD,mBAAmB,CAC9BE,SACAC;IAEA,kGAAkG;IAClG,+CAA+C;IAC/C,IAAID,OAAO,CAAC,iBAAiB,IAAIA,OAAO,CAAC,iBAAiB,KAAK,KAAK;QAClE,OAAOA,OAAO,CAAC,iBAAiB;IAClC;IAEA,KAAK,MAAM,CAACE,KAAKC,MAAM,IAAIC,OAAOC,OAAO,CAACL,SAAU;QAClD,IACEC,iBAAiBK,QAAQ,CAACJ,QAC1B,CAAEK,CAAAA,MAAMC,OAAO,CAACL,UAAU,OAAOA,UAAU,QAAO,GAClD;YACA,OAAOH,OAAO,CAACE,IAAI;QACrB;IACF;IACA,OAAOF;AACT"}
|
||||
Reference in New Issue
Block a user