Files
voyage/apps/public-web/node_modules/next/dist/experimental/testmode/context.js
PascalSchattenburg d147843c76 feat(blog): add file-based blog with dynamic slugs, MDX content and layout shell
- Introduced blog routing using Next.js App Router
- Implemented dynamic [slug] pages for blog posts
- Added MDX-based content loading via lib/posts
- Integrated shared TopBar layout with navigation
- Established clear content, lib and component separation
2026-01-22 14:14:15 +01:00

57 lines
1.4 KiB
JavaScript

"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