/
opt
/
canhelp
/
node_modules
/
next
/
dist
/
esm
/
server
/
app-render
/
/opt/canhelp/node_modules/next/dist/esm/server/app-render
mkdir
upload
Name
Size
Mode
Actions
metadata-insertion/
-
0755
rm
module-loading/
-
0755
rm
rsc/
-
0755
rm
action-async-storage-instance.js
192
0644
edit
dl
rm
action-async-storage-instance.js.map
503
0644
edit
dl
rm
action-async-storage.external.js
302
0644
edit
dl
rm
action-async-storage.external.js.map
765
0644
edit
dl
rm
action-handler.js
47638
0644
edit
dl
rm
action-handler.js.map
68659
0644
edit
dl
rm
action-utils.js
3705
0644
edit
dl
rm
action-utils.js.map
5560
0644
edit
dl
rm
after-task-async-storage-instance.js
199
0644
edit
dl
rm
after-task-async-storage-instance.js.map
523
0644
edit
dl
rm
after-task-async-storage.external.js
311
0644
edit
dl
rm
after-task-async-storage.external.js.map
1064
0644
edit
dl
rm
app-render-prerender-utils.js
6762
0644
edit
dl
rm
app-render-prerender-utils.js.map
10813
0644
edit
dl
rm
app-render-render-utils.js
1119
0644
edit
dl
rm
app-render-render-utils.js.map
1618
0644
edit
dl
rm
app-render.js
157902
0644
edit
dl
rm
app-render.js.map
239776
0644
edit
dl
rm
async-local-storage.js
1496
0644
edit
dl
rm
async-local-storage.js.map
2735
0644
edit
dl
rm
cache-signal.js
5730
0644
edit
dl
rm
cache-signal.js.map
8119
0644
edit
dl
rm
collect-segment-data.js
13005
0644
edit
dl
rm
collect-segment-data.js.map
22398
0644
edit
dl
rm
create-component-styles-and-scripts.js
1138
0644
edit
dl
rm
create-component-styles-and-scripts.js.map
2482
0644
edit
dl
rm
create-component-tree.js
39485
0644
edit
dl
rm
create-component-tree.js.map
59317
0644
edit
dl
rm
create-error-handler.js
8900
0644
edit
dl
rm
create-error-handler.js.map
13934
0644
edit
dl
rm
create-flight-router-state-from-loader-tree.js
3249
0644
edit
dl
rm
create-flight-router-state-from-loader-tree.js.map
5682
0644
edit
dl
rm
csrf-protection.js
2801
0644
edit
dl
rm
csrf-protection.js.map
3924
0644
edit
dl
rm
dynamic-access-async-storage-instance.js
207
0644
edit
dl
rm
dynamic-access-async-storage-instance.js.map
537
0644
edit
dl
rm
dynamic-access-async-storage.external.js
339
0644
edit
dl
rm
dynamic-access-async-storage.external.js.map
823
0644
edit
dl
rm
dynamic-rendering.js
30863
0644
edit
dl
rm
dynamic-rendering.js.map
45598
0644
edit
dl
rm
encryption-utils-server.js
4277
0644
edit
dl
rm
encryption-utils-server.js.map
7131
0644
edit
dl
rm
encryption-utils.js
6595
0644
edit
dl
rm
encryption-utils.js.map
11128
0644
edit
dl
rm
encryption.js
11249
0644
edit
dl
rm
encryption.js.map
16768
0644
edit
dl
rm
entry-base.js
3181
0644
edit
dl
rm
entry-base.js.map
6055
0644
edit
dl
rm
flight-render-result.js
509
0644
edit
dl
rm
flight-render-result.js.map
987
0644
edit
dl
rm
get-asset-query-string.js
779
0644
edit
dl
rm
get-asset-query-string.js.map
1573
0644
edit
dl
rm
get-css-inlined-link-tags.js
1403
0644
edit
dl
rm
get-css-inlined-link-tags.js.map
2570
0644
edit
dl
rm
get-layer-assets.js
2787
0644
edit
dl
rm
get-layer-assets.js.map
5550
0644
edit
dl
rm
get-preloadable-fonts.js
1294
0644
edit
dl
rm
get-preloadable-fonts.js.map
2384
0644
edit
dl
rm
get-script-nonce-from-header.js
1775
0644
edit
dl
rm
get-script-nonce-from-header.js.map
2784
0644
edit
dl
rm
get-segment-param.js
1358
0644
edit
dl
rm
get-segment-param.js.map
2352
0644
edit
dl
rm
get-short-dynamic-param-type.js
664
0644
edit
dl
rm
get-short-dynamic-param-type.js.map
1167
0644
edit
dl
rm
has-loading-component-in-tree.js
312
0644
edit
dl
rm
has-loading-component-in-tree.js.map
796
0644
edit
dl
rm
interop-default.js
181
0644
edit
dl
rm
interop-default.js.map
394
0644
edit
dl
rm
make-get-server-inserted-html.js
4076
0644
edit
dl
rm
make-get-server-inserted-html.js.map
6615
0644
edit
dl
rm
parse-and-validate-flight-router-state.js
1571
0644
edit
dl
rm
parse-and-validate-flight-router-state.js.map
2435
0644
edit
dl
rm
parse-loader-tree.js
798
0644
edit
dl
rm
parse-loader-tree.js.map
1427
0644
edit
dl
rm
postponed-state.js
5431
0644
edit
dl
rm
postponed-state.js.map
9091
0644
edit
dl
rm
prospective-render-utils.js
2277
0644
edit
dl
rm
prospective-render-utils.js.map
3421
0644
edit
dl
rm
react-large-shell-error.js
370
0644
edit
dl
rm
react-large-shell-error.js.map
773
0644
edit
dl
rm
react-server.node.js
316
0644
edit
dl
rm
react-server.node.js.map
637
0644
edit
dl
rm
render-css-resource.js
2407
0644
edit
dl
rm
render-css-resource.js.map
3963
0644
edit
dl
rm
required-scripts.js
2442
0644
edit
dl
rm
required-scripts.js.map
4294
0644
edit
dl
rm
segment-explorer-path.js
2756
0644
edit
dl
rm
segment-explorer-path.js.map
5208
0644
edit
dl
rm
server-inserted-html.js
1030
0644
edit
dl
rm
server-inserted-html.js.map
1778
0644
edit
dl
rm
strip-flight-headers.js
365
0644
edit
dl
rm
strip-flight-headers.js.map
738
0644
edit
dl
rm
types.js
2020
0644
edit
dl
rm
types.js.map
13145
0644
edit
dl
rm
use-flight-response.js
6758
0644
edit
dl
rm
use-flight-response.js.map
11158
0644
edit
dl
rm
walk-tree-with-flight-router-state.js
10808
0644
edit
dl
rm
walk-tree-with-flight-router-state.js.map
17382
0644
edit
dl
rm
work-async-storage-instance.js
188
0644
edit
dl
rm
work-async-storage-instance.js.map
491
0644
edit
dl
rm
work-async-storage.external.js
292
0644
edit
dl
rm
work-async-storage.external.js.map
4274
0644
edit
dl
rm
work-unit-async-storage-instance.js
197
0644
edit
dl
rm
work-unit-async-storage-instance.js.map
517
0644
edit
dl
rm
work-unit-async-storage.external.js
6423
0644
edit
dl
rm
work-unit-async-storage.external.js.map
20959
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/next/dist/esm/server/app-render/create-error-handler.js
(8900B)
import stringHash from 'next/dist/compiled/string-hash'; import { formatServerError } from '../../lib/format-server-error'; import { SpanStatusCode, getTracer } from '../lib/trace/tracer'; import { isAbortError } from '../pipe-readable'; import { isBailoutToCSRError } from '../../shared/lib/lazy-dynamic/bailout-to-csr'; import { isDynamicServerError } from '../../client/components/hooks-server-context'; import { isNextRouterError } from '../../client/components/is-next-router-error'; import { isPrerenderInterruptedError } from './dynamic-rendering'; import { getProperError } from '../../lib/is-error'; import { createDigestWithErrorCode } from '../../lib/error-telemetry-utils'; import { isReactLargeShellError } from './react-large-shell-error'; /** * Returns a digest for well-known Next.js errors, otherwise `undefined`. If a * digest is returned this also means that the error does not need to be * reported. */ export function getDigestForWellKnownError(error) { // If we're bailing out to CSR, we don't need to log the error. if (isBailoutToCSRError(error)) return error.digest; // If this is a navigation error, we don't need to log the error. if (isNextRouterError(error)) return error.digest; // If this error occurs, we know that we should be stopping the static // render. This is only thrown in static generation when PPR is not enabled, // which causes the whole page to be marked as dynamic. We don't need to // tell the user about this error, as it's not actionable. if (isDynamicServerError(error)) return error.digest; // If this is a prerender interrupted error, we don't need to log the error. if (isPrerenderInterruptedError(error)) return error.digest; return undefined; } export function createFlightReactServerErrorHandler(shouldFormatError, onReactServerRenderError) { return (thrownValue)=>{ if (typeof thrownValue === 'string') { // TODO-APP: look at using webcrypto instead. Requires a promise to be awaited. return stringHash(thrownValue).toString(); } // If the response was closed, we don't need to log the error. if (isAbortError(thrownValue)) return; const digest = getDigestForWellKnownError(thrownValue); if (digest) { return digest; } if (isReactLargeShellError(thrownValue)) { // TODO: Aggregate console.error(thrownValue); return undefined; } const err = getProperError(thrownValue); // If the error already has a digest, respect the original digest, // so it won't get re-generated into another new error. if (!err.digest) { // TODO-APP: look at using webcrypto instead. Requires a promise to be awaited. err.digest = stringHash(err.message + err.stack || '').toString(); } // Format server errors in development to add more helpful error messages if (shouldFormatError) { formatServerError(err); } // Record exception in an active span, if available. const span = getTracer().getActiveScopeSpan(); if (span) { span.recordException(err); span.setAttribute('error.type', err.name); span.setStatus({ code: SpanStatusCode.ERROR, message: err.message }); } onReactServerRenderError(err); return createDigestWithErrorCode(thrownValue, err.digest); }; } export function createHTMLReactServerErrorHandler(shouldFormatError, isNextExport, reactServerErrors, silenceLogger, onReactServerRenderError) { return (thrownValue)=>{ var _err_message; if (typeof thrownValue === 'string') { // TODO-APP: look at using webcrypto instead. Requires a promise to be awaited. return stringHash(thrownValue).toString(); } // If the response was closed, we don't need to log the error. if (isAbortError(thrownValue)) return; const digest = getDigestForWellKnownError(thrownValue); if (digest) { return digest; } if (isReactLargeShellError(thrownValue)) { // TODO: Aggregate console.error(thrownValue); return undefined; } const err = getProperError(thrownValue); // If the error already has a digest, respect the original digest, // so it won't get re-generated into another new error. if (!err.digest) { // TODO-APP: look at using webcrypto instead. Requires a promise to be awaited. err.digest = stringHash(err.message + (err.stack || '')).toString(); } // @TODO by putting this here and not at the top it is possible that // we don't error the build in places we actually expect to if (!reactServerErrors.has(err.digest)) { reactServerErrors.set(err.digest, err); } // Format server errors in development to add more helpful error messages if (shouldFormatError) { formatServerError(err); } // Don't log the suppressed error during export if (!(isNextExport && (err == null ? void 0 : (_err_message = err.message) == null ? void 0 : _err_message.includes('The specific message is omitted in production builds to avoid leaking sensitive details.')))) { // Record exception in an active span, if available. const span = getTracer().getActiveScopeSpan(); if (span) { span.recordException(err); span.setAttribute('error.type', err.name); span.setStatus({ code: SpanStatusCode.ERROR, message: err.message }); } if (!silenceLogger) { onReactServerRenderError == null ? void 0 : onReactServerRenderError(err); } } return createDigestWithErrorCode(thrownValue, err.digest); }; } export function createHTMLErrorHandler(shouldFormatError, isNextExport, reactServerErrors, allCapturedErrors, silenceLogger, onHTMLRenderSSRError) { return (thrownValue, errorInfo)=>{ var _err_message; if (isReactLargeShellError(thrownValue)) { // TODO: Aggregate console.error(thrownValue); return undefined; } let isSSRError = true; allCapturedErrors.push(thrownValue); // If the response was closed, we don't need to log the error. if (isAbortError(thrownValue)) return; const digest = getDigestForWellKnownError(thrownValue); if (digest) { return digest; } const err = getProperError(thrownValue); // If the error already has a digest, respect the original digest, // so it won't get re-generated into another new error. if (err.digest) { if (reactServerErrors.has(err.digest)) { // This error is likely an obfuscated error from react-server. // We recover the original error here. thrownValue = reactServerErrors.get(err.digest); isSSRError = false; } else { // The error is not from react-server but has a digest // from other means so we don't need to produce a new one } } else { err.digest = stringHash(err.message + ((errorInfo == null ? void 0 : errorInfo.componentStack) || err.stack || '')).toString(); } // Format server errors in development to add more helpful error messages if (shouldFormatError) { formatServerError(err); } // Don't log the suppressed error during export if (!(isNextExport && (err == null ? void 0 : (_err_message = err.message) == null ? void 0 : _err_message.includes('The specific message is omitted in production builds to avoid leaking sensitive details.')))) { // Record exception in an active span, if available. const span = getTracer().getActiveScopeSpan(); if (span) { span.recordException(err); span.setAttribute('error.type', err.name); span.setStatus({ code: SpanStatusCode.ERROR, message: err.message }); } if (!silenceLogger && // HTML errors contain RSC errors as well, filter them out before reporting isSSRError) { onHTMLRenderSSRError(err, errorInfo); } } return createDigestWithErrorCode(thrownValue, err.digest); }; } export function isUserLandError(err) { return !isAbortError(err) && !isBailoutToCSRError(err) && !isNextRouterError(err); } //# sourceMappingURL=create-error-handler.js.map
Save
cmd:
run