UNPKG

next

Version:

The React Framework

108 lines (107 loc) 3.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return nHandler; } }); const _globals = require("../../server/web/globals"); const _adapter = require("../../server/web/adapter"); const _VAR_USERLAND = /*#__PURE__*/ _interop_require_wildcard(require("VAR_USERLAND")); const _isnextroutererror = require("../../client/components/is-next-router-error"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interop_require_wildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = { __proto__: null }; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for(var key in obj){ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } const mod = { ..._VAR_USERLAND }; const handler = mod.middleware || mod.default; const page = 'VAR_DEFINITION_PAGE'; if (typeof handler !== 'function') { throw Object.defineProperty(new Error(`The Middleware "${page}" must export a \`middleware\` or a \`default\` function`), "__NEXT_ERROR_CODE", { value: "E120", enumerable: false, configurable: true }); } // Middleware will only sent out the FetchEvent to next server, // so load instrumentation module here and track the error inside middleware module. function errorHandledHandler(fn) { return async (...args)=>{ try { return await fn(...args); } catch (err) { // In development, error the navigation API usage in runtime, // since it's not allowed to be used in middleware as it's outside of react component tree. if (process.env.NODE_ENV !== 'production') { if ((0, _isnextroutererror.isNextRouterError)(err)) { err.message = `Next.js navigation API is not allowed to be used in Middleware.`; throw err; } } const req = args[0]; const url = new URL(req.url); const resource = url.pathname + url.search; await (0, _globals.edgeInstrumentationOnRequestError)(err, { path: resource, method: req.method, headers: Object.fromEntries(req.headers.entries()) }, { routerKind: 'Pages Router', routePath: '/middleware', routeType: 'middleware', revalidateReason: undefined }); throw err; } }; } function nHandler(opts) { return (0, _adapter.adapter)({ ...opts, page, handler: errorHandledHandler(handler) }); } //# sourceMappingURL=middleware.js.map