/opt/canhelp/node_modules/next/dist/esm/server/app-render
NameSizeModeActions
metadata-insertion/-0755rm
module-loading/-0755rm
rsc/-0755rm
action-async-storage-instance.js1920644editdlrm
action-async-storage-instance.js.map5030644editdlrm
action-async-storage.external.js3020644editdlrm
action-async-storage.external.js.map7650644editdlrm
action-handler.js476380644editdlrm
action-handler.js.map686590644editdlrm
action-utils.js37050644editdlrm
action-utils.js.map55600644editdlrm
after-task-async-storage-instance.js1990644editdlrm
after-task-async-storage-instance.js.map5230644editdlrm
after-task-async-storage.external.js3110644editdlrm
after-task-async-storage.external.js.map10640644editdlrm
app-render-prerender-utils.js67620644editdlrm
app-render-prerender-utils.js.map108130644editdlrm
app-render-render-utils.js11190644editdlrm
app-render-render-utils.js.map16180644editdlrm
app-render.js1579020644editdlrm
app-render.js.map2397760644editdlrm
async-local-storage.js14960644editdlrm
async-local-storage.js.map27350644editdlrm
cache-signal.js57300644editdlrm
cache-signal.js.map81190644editdlrm
collect-segment-data.js130050644editdlrm
collect-segment-data.js.map223980644editdlrm
create-component-styles-and-scripts.js11380644editdlrm
create-component-styles-and-scripts.js.map24820644editdlrm
create-component-tree.js394850644editdlrm
create-component-tree.js.map593170644editdlrm
create-error-handler.js89000644editdlrm
create-error-handler.js.map139340644editdlrm
create-flight-router-state-from-loader-tree.js32490644editdlrm
create-flight-router-state-from-loader-tree.js.map56820644editdlrm
csrf-protection.js28010644editdlrm
csrf-protection.js.map39240644editdlrm
dynamic-access-async-storage-instance.js2070644editdlrm
dynamic-access-async-storage-instance.js.map5370644editdlrm
dynamic-access-async-storage.external.js3390644editdlrm
dynamic-access-async-storage.external.js.map8230644editdlrm
dynamic-rendering.js308630644editdlrm
dynamic-rendering.js.map455980644editdlrm
encryption-utils-server.js42770644editdlrm
encryption-utils-server.js.map71310644editdlrm
encryption-utils.js65950644editdlrm
encryption-utils.js.map111280644editdlrm
encryption.js112490644editdlrm
encryption.js.map167680644editdlrm
entry-base.js31810644editdlrm
entry-base.js.map60550644editdlrm
flight-render-result.js5090644editdlrm
flight-render-result.js.map9870644editdlrm
get-asset-query-string.js7790644editdlrm
get-asset-query-string.js.map15730644editdlrm
get-css-inlined-link-tags.js14030644editdlrm
get-css-inlined-link-tags.js.map25700644editdlrm
get-layer-assets.js27870644editdlrm
get-layer-assets.js.map55500644editdlrm
get-preloadable-fonts.js12940644editdlrm
get-preloadable-fonts.js.map23840644editdlrm
get-script-nonce-from-header.js17750644editdlrm
get-script-nonce-from-header.js.map27840644editdlrm
get-segment-param.js13580644editdlrm
get-segment-param.js.map23520644editdlrm
get-short-dynamic-param-type.js6640644editdlrm
get-short-dynamic-param-type.js.map11670644editdlrm
has-loading-component-in-tree.js3120644editdlrm
has-loading-component-in-tree.js.map7960644editdlrm
interop-default.js1810644editdlrm
interop-default.js.map3940644editdlrm
make-get-server-inserted-html.js40760644editdlrm
make-get-server-inserted-html.js.map66150644editdlrm
parse-and-validate-flight-router-state.js15710644editdlrm
parse-and-validate-flight-router-state.js.map24350644editdlrm
parse-loader-tree.js7980644editdlrm
parse-loader-tree.js.map14270644editdlrm
postponed-state.js54310644editdlrm
postponed-state.js.map90910644editdlrm
prospective-render-utils.js22770644editdlrm
prospective-render-utils.js.map34210644editdlrm
react-large-shell-error.js3700644editdlrm
react-large-shell-error.js.map7730644editdlrm
react-server.node.js3160644editdlrm
react-server.node.js.map6370644editdlrm
render-css-resource.js24070644editdlrm
render-css-resource.js.map39630644editdlrm
required-scripts.js24420644editdlrm
required-scripts.js.map42940644editdlrm
segment-explorer-path.js27560644editdlrm
segment-explorer-path.js.map52080644editdlrm
server-inserted-html.js10300644editdlrm
server-inserted-html.js.map17780644editdlrm
strip-flight-headers.js3650644editdlrm
strip-flight-headers.js.map7380644editdlrm
types.js20200644editdlrm
types.js.map131450644editdlrm
use-flight-response.js67580644editdlrm
use-flight-response.js.map111580644editdlrm
walk-tree-with-flight-router-state.js108080644editdlrm
walk-tree-with-flight-router-state.js.map173820644editdlrm
work-async-storage-instance.js1880644editdlrm
work-async-storage-instance.js.map4910644editdlrm
work-async-storage.external.js2920644editdlrm
work-async-storage.external.js.map42740644editdlrm
work-unit-async-storage-instance.js1970644editdlrm
work-unit-async-storage-instance.js.map5170644editdlrm
work-unit-async-storage.external.js64230644editdlrm
work-unit-async-storage.external.js.map209590644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/esm/server/app-render/csrf-protection.js.map (3924B)
{"version":3,"sources":["../../../src/server/app-render/csrf-protection.ts"],"sourcesContent":["// micromatch is only available at node runtime, so it cannot be used here since the code path that calls this function\n// can be run from edge. This is a simple implementation that safely achieves the required functionality.\n// the goal is to match the functionality for remotePatterns as defined here -\n// https://nextjs.org/docs/app/api-reference/components/image#remotepatterns\n// TODO - retrofit micromatch to work in edge and use that instead\nfunction matchWildcardDomain(domain: string, pattern: string) {\n const domainParts = domain.split('.')\n const patternParts = pattern.split('.')\n\n if (patternParts.length < 1) {\n // pattern is empty and therefore invalid to match against\n return false\n }\n\n if (domainParts.length < patternParts.length) {\n // domain has too few segments and thus cannot match\n return false\n }\n\n // Prevent wildcards from matching entire domains (e.g. '**' or '*.com')\n // This ensures wildcards can only match subdomains, not the main domain\n if (\n patternParts.length === 1 &&\n (patternParts[0] === '*' || patternParts[0] === '**')\n ) {\n return false\n }\n\n while (patternParts.length) {\n const patternPart = patternParts.pop()\n const domainPart = domainParts.pop()\n\n switch (patternPart) {\n case '': {\n // invalid pattern. pattern segments must be non empty\n return false\n }\n case '*': {\n // wildcard matches anything so we continue if the domain part is non-empty\n if (domainPart) {\n continue\n } else {\n return false\n }\n }\n case '**': {\n // if this is not the last item in the pattern the pattern is invalid\n if (patternParts.length > 0) {\n return false\n }\n // recursive wildcard matches anything so we terminate here if the domain part is non empty\n return domainPart !== undefined\n }\n case undefined:\n default: {\n if (domainPart !== patternPart) {\n return false\n }\n }\n }\n }\n\n // We exhausted the pattern. If we also exhausted the domain we have a match\n return domainParts.length === 0\n}\n\nexport const isCsrfOriginAllowed = (\n originDomain: string,\n allowedOrigins: string[] = []\n): boolean => {\n return allowedOrigins.some(\n (allowedOrigin) =>\n allowedOrigin &&\n (allowedOrigin === originDomain ||\n matchWildcardDomain(originDomain, allowedOrigin))\n )\n}\n"],"names":["matchWildcardDomain","domain","pattern","domainParts","split","patternParts","length","patternPart","pop","domainPart","undefined","isCsrfOriginAllowed","originDomain","allowedOrigins","some","allowedOrigin"],"mappings":"AAAA,uHAAuH;AACvH,yGAAyG;AACzG,8EAA8E;AAC9E,4EAA4E;AAC5E,kEAAkE;AAClE,SAASA,oBAAoBC,MAAc,EAAEC,OAAe;IAC1D,MAAMC,cAAcF,OAAOG,KAAK,CAAC;IACjC,MAAMC,eAAeH,QAAQE,KAAK,CAAC;IAEnC,IAAIC,aAAaC,MAAM,GAAG,GAAG;QAC3B,0DAA0D;QAC1D,OAAO;IACT;IAEA,IAAIH,YAAYG,MAAM,GAAGD,aAAaC,MAAM,EAAE;QAC5C,oDAAoD;QACpD,OAAO;IACT;IAEA,wEAAwE;IACxE,wEAAwE;IACxE,IACED,aAAaC,MAAM,KAAK,KACvBD,CAAAA,YAAY,CAAC,EAAE,KAAK,OAAOA,YAAY,CAAC,EAAE,KAAK,IAAG,GACnD;QACA,OAAO;IACT;IAEA,MAAOA,aAAaC,MAAM,CAAE;QAC1B,MAAMC,cAAcF,aAAaG,GAAG;QACpC,MAAMC,aAAaN,YAAYK,GAAG;QAElC,OAAQD;YACN,KAAK;gBAAI;oBACP,sDAAsD;oBACtD,OAAO;gBACT;YACA,KAAK;gBAAK;oBACR,2EAA2E;oBAC3E,IAAIE,YAAY;wBACd;oBACF,OAAO;wBACL,OAAO;oBACT;gBACF;YACA,KAAK;gBAAM;oBACT,qEAAqE;oBACrE,IAAIJ,aAAaC,MAAM,GAAG,GAAG;wBAC3B,OAAO;oBACT;oBACA,2FAA2F;oBAC3F,OAAOG,eAAeC;gBACxB;YACA,KAAKA;YACL;gBAAS;oBACP,IAAID,eAAeF,aAAa;wBAC9B,OAAO;oBACT;gBACF;QACF;IACF;IAEA,4EAA4E;IAC5E,OAAOJ,YAAYG,MAAM,KAAK;AAChC;AAEA,OAAO,MAAMK,sBAAsB,CACjCC,cACAC,iBAA2B,EAAE;IAE7B,OAAOA,eAAeC,IAAI,CACxB,CAACC,gBACCA,iBACCA,CAAAA,kBAAkBH,gBACjBZ,oBAAoBY,cAAcG,cAAa;AAEvD,EAAC","ignoreList":[0]}