| "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; |
| } |
|
|
| |