{"version":3,"sources":["../../../src/build/templates/middleware.ts"],"sourcesContent":["import type { AdapterOptions } from '../../server/web/adapter'\n\nimport '../../server/web/globals'\n\nimport { adapter } from '../../server/web/adapter'\n\n// Import the userland code.\nimport * as _mod from 'VAR_USERLAND'\nimport { edgeInstrumentationOnRequestError } from '../../server/web/globals'\nimport { isNextRouterError } from '../../client/components/is-next-router-error'\n\nconst mod = { ..._mod }\n\nconst page: string = 'VAR_DEFINITION_PAGE'\nconst isProxy = page === '/proxy' || page === '/src/proxy'\nconst handler = (isProxy ? mod.proxy : mod.middleware) || mod.default\n\nclass ProxyMissingExportError extends Error {\n constructor(message: string) {\n super(message)\n // Stack isn't useful here, remove it considering it spams logs during development.\n this.stack = ''\n }\n}\n\n// TODO: This spams logs during development. Find a better way to handle this.\n// Removing this will spam \"fn is not a function\" logs which is worse.\nif (typeof handler !== 'function') {\n throw new ProxyMissingExportError(\n `The ${isProxy ? 'Proxy' : 'Middleware'} file \"${page}\" must export a function named \\`${isProxy ? 'proxy' : 'middleware'}\\` or a default function.`\n )\n}\n\n// Proxy will only sent out the FetchEvent to next server,\n// so load instrumentation module here and track the error inside proxy module.\nfunction errorHandledHandler(fn: AdapterOptions['handler']) {\n return async (...args: Parameters) => {\n try {\n return await fn(...args)\n } catch (err) {\n // In development, error the navigation API usage in runtime,\n // since it's not allowed to be used in proxy as it's outside of react component tree.\n if (process.env.NODE_ENV !== 'production') {\n if (isNextRouterError(err)) {\n err.message = `Next.js navigation API is not allowed to be used in ${isProxy ? 'Proxy' : 'Middleware'}.`\n throw err\n }\n }\n const req = args[0]\n const url = new URL(req.url)\n const resource = url.pathname + url.search\n await edgeInstrumentationOnRequestError(\n err,\n {\n path: resource,\n method: req.method,\n headers: Object.fromEntries(req.headers.entries()),\n },\n {\n routerKind: 'Pages Router',\n routePath: '/proxy',\n routeType: 'proxy',\n revalidateReason: undefined,\n }\n )\n\n throw err\n }\n }\n}\n\nexport default function nHandler(\n opts: Omit\n) {\n return adapter({\n ...opts,\n page,\n handler: errorHandledHandler(handler),\n })\n}\n"],"names":["adapter","_mod","edgeInstrumentationOnRequestError","isNextRouterError","mod","page","isProxy","handler","proxy","middleware","default","ProxyMissingExportError","Error","constructor","message","stack","errorHandledHandler","fn","args","err","process","env","NODE_ENV","req","url","URL","resource","pathname","search","path","method","headers","Object","fromEntries","entries","routerKind","routePath","routeType","revalidateReason","undefined","nHandler","opts"],"mappings":"AAEA,OAAO,2BAA0B;AAEjC,SAASA,OAAO,QAAQ,2BAA0B;AAElD,4BAA4B;AAC5B,YAAYC,UAAU,eAAc;AACpC,SAASC,iCAAiC,QAAQ,2BAA0B;AAC5E,SAASC,iBAAiB,QAAQ,+CAA8C;AAEhF,MAAMC,MAAM;IAAE,GAAGH,IAAI;AAAC;AAEtB,MAAMI,OAAe;AACrB,MAAMC,UAAUD,SAAS,YAAYA,SAAS;AAC9C,MAAME,UAAU,AAACD,CAAAA,UAAUF,IAAII,KAAK,GAAGJ,IAAIK,UAAU,AAAD,KAAML,IAAIM,OAAO;AAErE,MAAMC,gCAAgCC;IACpCC,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;QACN,mFAAmF;QACnF,IAAI,CAACC,KAAK,GAAG;IACf;AACF;AAEA,8EAA8E;AAC9E,sEAAsE;AACtE,IAAI,OAAOR,YAAY,YAAY;IACjC,MAAM,IAAII,wBACR,CAAC,IAAI,EAAEL,UAAU,UAAU,aAAa,OAAO,EAAED,KAAK,iCAAiC,EAAEC,UAAU,UAAU,aAAa,yBAAyB,CAAC;AAExJ;AAEA,0DAA0D;AAC1D,+EAA+E;AAC/E,SAASU,oBAAoBC,EAA6B;IACxD,OAAO,OAAO,GAAGC;QACf,IAAI;YACF,OAAO,MAAMD,MAAMC;QACrB,EAAE,OAAOC,KAAK;YACZ,6DAA6D;YAC7D,sFAAsF;YACtF,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;gBACzC,IAAInB,kBAAkBgB,MAAM;oBAC1BA,IAAIL,OAAO,GAAG,CAAC,oDAAoD,EAAER,UAAU,UAAU,aAAa,CAAC,CAAC;oBACxG,MAAMa;gBACR;YACF;YACA,MAAMI,MAAML,IAAI,CAAC,EAAE;YACnB,MAAMM,MAAM,IAAIC,IAAIF,IAAIC,GAAG;YAC3B,MAAME,WAAWF,IAAIG,QAAQ,GAAGH,IAAII,MAAM;YAC1C,MAAM1B,kCACJiB,KACA;gBACEU,MAAMH;gBACNI,QAAQP,IAAIO,MAAM;gBAClBC,SAASC,OAAOC,WAAW,CAACV,IAAIQ,OAAO,CAACG,OAAO;YACjD,GACA;gBACEC,YAAY;gBACZC,WAAW;gBACXC,WAAW;gBACXC,kBAAkBC;YACpB;YAGF,MAAMpB;QACR;IACF;AACF;AAEA,eAAe,SAASqB,SACtBC,IAAmE;IAEnE,OAAOzC,QAAQ;QACb,GAAGyC,IAAI;QACPpC;QACAE,SAASS,oBAAoBT;IAC/B;AACF","ignoreList":[0]}