Initial boiler plate project
This commit is contained in:
4
node_modules/next/dist/experimental/testmode/proxy/fetch-api.d.ts
generated
vendored
Normal file
4
node_modules/next/dist/experimental/testmode/proxy/fetch-api.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { ProxyFetchRequest, ProxyResponse } from './types';
|
||||
export type FetchHandlerResult = Response | 'abort' | 'continue' | null | undefined;
|
||||
export type FetchHandler = (testData: string, request: Request) => FetchHandlerResult | Promise<FetchHandlerResult>;
|
||||
export declare function handleFetch(req: ProxyFetchRequest, onFetch: FetchHandler): Promise<ProxyResponse>;
|
||||
48
node_modules/next/dist/experimental/testmode/proxy/fetch-api.js
generated
vendored
Normal file
48
node_modules/next/dist/experimental/testmode/proxy/fetch-api.js
generated
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "handleFetch", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return handleFetch;
|
||||
}
|
||||
});
|
||||
const _types = require("./types");
|
||||
function buildRequest(req) {
|
||||
const { request: proxyRequest } = req;
|
||||
const { url, headers, body, ...options } = proxyRequest;
|
||||
return new Request(url, {
|
||||
...options,
|
||||
headers: new Headers(headers),
|
||||
body: body ? Buffer.from(body, "base64") : null
|
||||
});
|
||||
}
|
||||
async function buildResponse(response) {
|
||||
if (!response) {
|
||||
return _types.UNHANDLED;
|
||||
}
|
||||
if (response === "abort") {
|
||||
return _types.ABORT;
|
||||
}
|
||||
if (response === "continue") {
|
||||
return _types.CONTINUE;
|
||||
}
|
||||
const { status, headers, body } = response;
|
||||
return {
|
||||
api: "fetch",
|
||||
response: {
|
||||
status,
|
||||
headers: Array.from(headers),
|
||||
body: body ? Buffer.from(await response.arrayBuffer()).toString("base64") : null
|
||||
}
|
||||
};
|
||||
}
|
||||
async function handleFetch(req, onFetch) {
|
||||
const { testData } = req;
|
||||
const request = buildRequest(req);
|
||||
const response = await onFetch(testData, request);
|
||||
return buildResponse(response);
|
||||
}
|
||||
|
||||
//# sourceMappingURL=fetch-api.js.map
|
||||
1
node_modules/next/dist/experimental/testmode/proxy/fetch-api.js.map
generated
vendored
Normal file
1
node_modules/next/dist/experimental/testmode/proxy/fetch-api.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../src/experimental/testmode/proxy/fetch-api.ts"],"names":["handleFetch","buildRequest","req","request","proxyRequest","url","headers","body","options","Request","Headers","Buffer","from","buildResponse","response","UNHANDLED","ABORT","CONTINUE","status","api","Array","arrayBuffer","toString","onFetch","testData"],"mappings":";;;;+BAmDsBA;;;eAAAA;;;uBAlDqB;AAc3C,SAASC,aAAaC,GAAsB;IAC1C,MAAM,EAAEC,SAASC,YAAY,EAAE,GAAGF;IAClC,MAAM,EAAEG,GAAG,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGC,SAAS,GAAGJ;IAC3C,OAAO,IAAIK,QAAQJ,KAAK;QACtB,GAAGG,OAAO;QACVF,SAAS,IAAII,QAAQJ;QACrBC,MAAMA,OAAOI,OAAOC,IAAI,CAACL,MAAM,YAAY;IAC7C;AACF;AAEA,eAAeM,cACbC,QAA4B;IAE5B,IAAI,CAACA,UAAU;QACb,OAAOC,gBAAS;IAClB;IACA,IAAID,aAAa,SAAS;QACxB,OAAOE,YAAK;IACd;IACA,IAAIF,aAAa,YAAY;QAC3B,OAAOG,eAAQ;IACjB;IAEA,MAAM,EAAEC,MAAM,EAAEZ,OAAO,EAAEC,IAAI,EAAE,GAAGO;IAClC,OAAO;QACLK,KAAK;QACLL,UAAU;YACRI;YACAZ,SAASc,MAAMR,IAAI,CAACN;YACpBC,MAAMA,OACFI,OAAOC,IAAI,CAAC,MAAME,SAASO,WAAW,IAAIC,QAAQ,CAAC,YACnD;QACN;IACF;AACF;AAEO,eAAetB,YACpBE,GAAsB,EACtBqB,OAAqB;IAErB,MAAM,EAAEC,QAAQ,EAAE,GAAGtB;IACrB,MAAMC,UAAUF,aAAaC;IAC7B,MAAMY,WAAW,MAAMS,QAAQC,UAAUrB;IACzC,OAAOU,cAAcC;AACvB"}
|
||||
3
node_modules/next/dist/experimental/testmode/proxy/index.d.ts
generated
vendored
Normal file
3
node_modules/next/dist/experimental/testmode/proxy/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export { createProxyServer } from './server';
|
||||
export type { FetchHandler, FetchHandlerResult } from './fetch-api';
|
||||
export type * from './types';
|
||||
13
node_modules/next/dist/experimental/testmode/proxy/index.js
generated
vendored
Normal file
13
node_modules/next/dist/experimental/testmode/proxy/index.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "createProxyServer", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return _server.createProxyServer;
|
||||
}
|
||||
});
|
||||
const _server = require("./server");
|
||||
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/next/dist/experimental/testmode/proxy/index.js.map
generated
vendored
Normal file
1
node_modules/next/dist/experimental/testmode/proxy/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../src/experimental/testmode/proxy/index.ts"],"names":["createProxyServer"],"mappings":";;;;+BAASA;;;eAAAA,yBAAiB;;;wBAAQ"}
|
||||
5
node_modules/next/dist/experimental/testmode/proxy/server.d.ts
generated
vendored
Normal file
5
node_modules/next/dist/experimental/testmode/proxy/server.d.ts
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import type { ProxyServer } from './types';
|
||||
import type { FetchHandler } from './fetch-api';
|
||||
export declare function createProxyServer({ onFetch, }: {
|
||||
onFetch?: FetchHandler;
|
||||
}): Promise<ProxyServer>;
|
||||
85
node_modules/next/dist/experimental/testmode/proxy/server.js
generated
vendored
Normal file
85
node_modules/next/dist/experimental/testmode/proxy/server.js
generated
vendored
Normal file
@ -0,0 +1,85 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "createProxyServer", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return createProxyServer;
|
||||
}
|
||||
});
|
||||
const _http = /*#__PURE__*/ _interop_require_default(require("http"));
|
||||
const _types = require("./types");
|
||||
const _fetchapi = require("./fetch-api");
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
async function readBody(req) {
|
||||
const acc = [];
|
||||
for await (const chunk of req){
|
||||
acc.push(chunk);
|
||||
}
|
||||
return Buffer.concat(acc);
|
||||
}
|
||||
async function createProxyServer({ onFetch }) {
|
||||
const server = _http.default.createServer(async (req, res)=>{
|
||||
if (req.url !== "/") {
|
||||
res.writeHead(404);
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
let json;
|
||||
try {
|
||||
json = JSON.parse((await readBody(req)).toString("utf-8"));
|
||||
} catch (e) {
|
||||
res.writeHead(400);
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
const { api } = json;
|
||||
let response;
|
||||
switch(api){
|
||||
case "fetch":
|
||||
if (onFetch) {
|
||||
response = await (0, _fetchapi.handleFetch)(json, onFetch);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (!response) {
|
||||
response = _types.UNHANDLED;
|
||||
}
|
||||
res.writeHead(200, {
|
||||
"Content-Type": "application/json"
|
||||
});
|
||||
res.write(JSON.stringify(response));
|
||||
res.end();
|
||||
});
|
||||
await new Promise((resolve)=>{
|
||||
server.listen(0, "localhost", ()=>{
|
||||
resolve(undefined);
|
||||
});
|
||||
});
|
||||
const address = server.address();
|
||||
if (!address || typeof address !== "object") {
|
||||
server.close();
|
||||
throw new Error("Failed to create a proxy server");
|
||||
}
|
||||
const port = address.port;
|
||||
const fetchWith = (input, init, testData)=>{
|
||||
const request = new Request(input, init);
|
||||
request.headers.set("Next-Test-Proxy-Port", String(port));
|
||||
request.headers.set("Next-Test-Data", testData ?? "");
|
||||
return fetch(request);
|
||||
};
|
||||
return {
|
||||
port,
|
||||
close: ()=>server.close(),
|
||||
fetchWith
|
||||
};
|
||||
}
|
||||
|
||||
//# sourceMappingURL=server.js.map
|
||||
1
node_modules/next/dist/experimental/testmode/proxy/server.js.map
generated
vendored
Normal file
1
node_modules/next/dist/experimental/testmode/proxy/server.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../src/experimental/testmode/proxy/server.ts"],"names":["createProxyServer","readBody","req","acc","chunk","push","Buffer","concat","onFetch","server","http","createServer","res","url","writeHead","end","json","JSON","parse","toString","e","api","response","handleFetch","UNHANDLED","write","stringify","Promise","resolve","listen","undefined","address","close","Error","port","fetchWith","input","init","testData","request","Request","headers","set","String","fetch"],"mappings":";;;;+BAiBsBA;;;eAAAA;;;6DAjBL;uBAGS;0BAEE;;;;;;AAE5B,eAAeC,SAASC,GAAoB;IAC1C,MAAMC,MAAgB,EAAE;IAExB,WAAW,MAAMC,SAASF,IAAK;QAC7BC,IAAIE,IAAI,CAACD;IACX;IAEA,OAAOE,OAAOC,MAAM,CAACJ;AACvB;AAEO,eAAeH,kBAAkB,EACtCQ,OAAO,EAGR;IACC,MAAMC,SAASC,aAAI,CAACC,YAAY,CAAC,OAAOT,KAAKU;QAC3C,IAAIV,IAAIW,GAAG,KAAK,KAAK;YACnBD,IAAIE,SAAS,CAAC;YACdF,IAAIG,GAAG;YACP;QACF;QAEA,IAAIC;QACJ,IAAI;YACFA,OAAOC,KAAKC,KAAK,CAAC,AAAC,CAAA,MAAMjB,SAASC,IAAG,EAAGiB,QAAQ,CAAC;QACnD,EAAE,OAAOC,GAAG;YACVR,IAAIE,SAAS,CAAC;YACdF,IAAIG,GAAG;YACP;QACF;QAEA,MAAM,EAAEM,GAAG,EAAE,GAAGL;QAEhB,IAAIM;QACJ,OAAQD;YACN,KAAK;gBACH,IAAIb,SAAS;oBACXc,WAAW,MAAMC,IAAAA,qBAAW,EAACP,MAAMR;gBACrC;gBACA;YACF;gBACE;QACJ;QACA,IAAI,CAACc,UAAU;YACbA,WAAWE,gBAAS;QACtB;QAEAZ,IAAIE,SAAS,CAAC,KAAK;YAAE,gBAAgB;QAAmB;QACxDF,IAAIa,KAAK,CAACR,KAAKS,SAAS,CAACJ;QACzBV,IAAIG,GAAG;IACT;IAEA,MAAM,IAAIY,QAAQ,CAACC;QACjBnB,OAAOoB,MAAM,CAAC,GAAG,aAAa;YAC5BD,QAAQE;QACV;IACF;IAEA,MAAMC,UAAUtB,OAAOsB,OAAO;IAC9B,IAAI,CAACA,WAAW,OAAOA,YAAY,UAAU;QAC3CtB,OAAOuB,KAAK;QACZ,MAAM,IAAIC,MAAM;IAClB;IACA,MAAMC,OAAOH,QAAQG,IAAI;IAEzB,MAAMC,YAAsC,CAACC,OAAOC,MAAMC;QACxD,MAAMC,UAAU,IAAIC,QAAQJ,OAAOC;QACnCE,QAAQE,OAAO,CAACC,GAAG,CAAC,wBAAwBC,OAAOT;QACnDK,QAAQE,OAAO,CAACC,GAAG,CAAC,kBAAkBJ,YAAY;QAClD,OAAOM,MAAML;IACf;IAEA,OAAO;QAAEL;QAAMF,OAAO,IAAMvB,OAAOuB,KAAK;QAAIG;IAAU;AACxD"}
|
||||
43
node_modules/next/dist/experimental/testmode/proxy/types.d.ts
generated
vendored
Normal file
43
node_modules/next/dist/experimental/testmode/proxy/types.d.ts
generated
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
export interface ProxyServer {
|
||||
readonly port: number;
|
||||
fetchWith(input: string | URL, init?: RequestInit, testData?: string): Promise<Response>;
|
||||
close(): void;
|
||||
}
|
||||
interface ProxyRequestBase {
|
||||
testData: string;
|
||||
api: string;
|
||||
}
|
||||
interface ProxyResponseBase {
|
||||
api: string;
|
||||
}
|
||||
export interface ProxyUnhandledResponse extends ProxyResponseBase {
|
||||
api: 'unhandled';
|
||||
}
|
||||
export interface ProxyAbortResponse extends ProxyResponseBase {
|
||||
api: 'abort';
|
||||
}
|
||||
export interface ProxyContinueResponse extends ProxyResponseBase {
|
||||
api: 'continue';
|
||||
}
|
||||
export interface ProxyFetchRequest extends ProxyRequestBase {
|
||||
api: 'fetch';
|
||||
request: {
|
||||
url: string;
|
||||
headers: Array<[string, string]>;
|
||||
body: string | null;
|
||||
} & Omit<RequestInit, 'headers' | 'body'>;
|
||||
}
|
||||
export interface ProxyFetchResponse extends ProxyResponseBase {
|
||||
api: 'fetch';
|
||||
response: {
|
||||
status: number;
|
||||
headers: Array<[string, string]>;
|
||||
body: string | null;
|
||||
};
|
||||
}
|
||||
export type ProxyRequest = ProxyFetchRequest;
|
||||
export type ProxyResponse = ProxyUnhandledResponse | ProxyAbortResponse | ProxyContinueResponse | ProxyFetchResponse;
|
||||
export declare const ABORT: ProxyResponse;
|
||||
export declare const CONTINUE: ProxyResponse;
|
||||
export declare const UNHANDLED: ProxyResponse;
|
||||
export {};
|
||||
37
node_modules/next/dist/experimental/testmode/proxy/types.js
generated
vendored
Normal file
37
node_modules/next/dist/experimental/testmode/proxy/types.js
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
0 && (module.exports = {
|
||||
ABORT: null,
|
||||
CONTINUE: null,
|
||||
UNHANDLED: null
|
||||
});
|
||||
function _export(target, all) {
|
||||
for(var name in all)Object.defineProperty(target, name, {
|
||||
enumerable: true,
|
||||
get: all[name]
|
||||
});
|
||||
}
|
||||
_export(exports, {
|
||||
ABORT: function() {
|
||||
return ABORT;
|
||||
},
|
||||
CONTINUE: function() {
|
||||
return CONTINUE;
|
||||
},
|
||||
UNHANDLED: function() {
|
||||
return UNHANDLED;
|
||||
}
|
||||
});
|
||||
const ABORT = {
|
||||
api: "abort"
|
||||
};
|
||||
const CONTINUE = {
|
||||
api: "continue"
|
||||
};
|
||||
const UNHANDLED = {
|
||||
api: "unhandled"
|
||||
};
|
||||
|
||||
//# sourceMappingURL=types.js.map
|
||||
1
node_modules/next/dist/experimental/testmode/proxy/types.js.map
generated
vendored
Normal file
1
node_modules/next/dist/experimental/testmode/proxy/types.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../src/experimental/testmode/proxy/types.ts"],"names":["ABORT","CONTINUE","UNHANDLED","api"],"mappings":";;;;;;;;;;;;;;;;IAyDaA,KAAK;eAALA;;IACAC,QAAQ;eAARA;;IACAC,SAAS;eAATA;;;AAFN,MAAMF,QAAuB;IAAEG,KAAK;AAAQ;AAC5C,MAAMF,WAA0B;IAAEE,KAAK;AAAW;AAClD,MAAMD,YAA2B;IAAEC,KAAK;AAAY"}
|
||||
Reference in New Issue
Block a user