Files
lcbp3.np-dms.work/frontend/node_modules/next/dist/experimental/testmode/context.js
2025-09-21 20:29:15 +07:00

57 lines
1.4 KiB
JavaScript
Executable File

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
getTestReqInfo: null,
withRequest: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
getTestReqInfo: function() {
return getTestReqInfo;
},
withRequest: function() {
return withRequest;
}
});
const _nodeasync_hooks = require("node:async_hooks");
const testStorage = new _nodeasync_hooks.AsyncLocalStorage();
function extractTestInfoFromRequest(req, reader) {
const proxyPortHeader = reader.header(req, 'next-test-proxy-port');
if (!proxyPortHeader) {
return undefined;
}
const url = reader.url(req);
const proxyPort = Number(proxyPortHeader);
const testData = reader.header(req, 'next-test-data') || '';
return {
url,
proxyPort,
testData
};
}
function withRequest(req, reader, fn) {
const testReqInfo = extractTestInfoFromRequest(req, reader);
if (!testReqInfo) {
return fn();
}
return testStorage.run(testReqInfo, fn);
}
function getTestReqInfo(req, reader) {
const testReqInfo = testStorage.getStore();
if (testReqInfo) {
return testReqInfo;
}
if (req && reader) {
return extractTestInfoFromRequest(req, reader);
}
return undefined;
}
//# sourceMappingURL=context.js.map