/
opt
/
canhelp
/
node_modules
/
next
/
dist
/
esm
/
server
/
/opt/canhelp/node_modules/next/dist/esm/server
mkdir
upload
Name
Size
Mode
Actions
after/
-
0755
rm
api-utils/
-
0755
rm
app-render/
-
0755
rm
async-storage/
-
0755
rm
base-http/
-
0755
rm
dev/
-
0755
rm
instrumentation/
-
0755
rm
lib/
-
0755
rm
node-environment-extensions/
-
0755
rm
normalizers/
-
0755
rm
og/
-
0755
rm
request/
-
0755
rm
response-cache/
-
0755
rm
resume-data-cache/
-
0755
rm
route-definitions/
-
0755
rm
route-matcher-managers/
-
0755
rm
route-matcher-providers/
-
0755
rm
route-matchers/
-
0755
rm
route-matches/
-
0755
rm
route-modules/
-
0755
rm
stream-utils/
-
0755
rm
typescript/
-
0755
rm
use-cache/
-
0755
rm
web/
-
0755
rm
accept-header.js
3852
0644
edit
dl
rm
accept-header.js.map
6454
0644
edit
dl
rm
base-server.js
96521
0644
edit
dl
rm
base-server.js.map
162133
0644
edit
dl
rm
body-streams.js
2979
0644
edit
dl
rm
body-streams.js.map
5408
0644
edit
dl
rm
cache-dir.js
324
0644
edit
dl
rm
cache-dir.js.map
698
0644
edit
dl
rm
ci-info.js
656
0644
edit
dl
rm
ci-info.js.map
1317
0644
edit
dl
rm
client-component-renderer-logger.js
1739
0644
edit
dl
rm
client-component-renderer-logger.js.map
2984
0644
edit
dl
rm
config-schema.js
27350
0644
edit
dl
rm
config-schema.js.map
54160
0644
edit
dl
rm
config-shared.js
6602
0644
edit
dl
rm
config-shared.js.map
58073
0644
edit
dl
rm
config-utils.js
5676
0644
edit
dl
rm
config-utils.js.map
6582
0644
edit
dl
rm
config.js
71488
0644
edit
dl
rm
config.js.map
99681
0644
edit
dl
rm
create-deduped-by-callsite-server-error-logger.js
2330
0644
edit
dl
rm
create-deduped-by-callsite-server-error-logger.js.map
3641
0644
edit
dl
rm
crypto-utils.js
2330
0644
edit
dl
rm
crypto-utils.js.map
4299
0644
edit
dl
rm
dynamic-rendering-utils.js
2984
0644
edit
dl
rm
dynamic-rendering-utils.js.map
4883
0644
edit
dl
rm
font-utils.js
1554
0644
edit
dl
rm
font-utils.js.map
3073
0644
edit
dl
rm
get-app-route-from-entrypoint.js
452
0644
edit
dl
rm
get-app-route-from-entrypoint.js.map
852
0644
edit
dl
rm
get-page-files.js
547
0644
edit
dl
rm
get-page-files.js.map
1699
0644
edit
dl
rm
get-route-from-entrypoint.js
794
0644
edit
dl
rm
get-route-from-entrypoint.js.map
1398
0644
edit
dl
rm
htmlescape.js
510
0644
edit
dl
rm
htmlescape.js.map
961
0644
edit
dl
rm
image-optimizer.js
33424
0644
edit
dl
rm
image-optimizer.js.map
55392
0644
edit
dl
rm
internal-utils.js
578
0644
edit
dl
rm
internal-utils.js.map
1308
0644
edit
dl
rm
load-components.js
6205
0644
edit
dl
rm
load-components.js.map
13185
0644
edit
dl
rm
load-default-error-components.js
1556
0644
edit
dl
rm
load-default-error-components.js.map
3887
0644
edit
dl
rm
load-manifest.external.js
2308
0644
edit
dl
rm
load-manifest.external.js.map
5763
0644
edit
dl
rm
match-bundle.js
320
0644
edit
dl
rm
match-bundle.js.map
705
0644
edit
dl
rm
next-server.js
65451
0644
edit
dl
rm
next-server.js.map
110145
0644
edit
dl
rm
next-typescript.js
91
0644
edit
dl
rm
next-typescript.js.map
215
0644
edit
dl
rm
next.js
13540
0644
edit
dl
rm
next.js.map
26930
0644
edit
dl
rm
node-environment-baseline.js
876
0644
edit
dl
rm
node-environment-baseline.js.map
1554
0644
edit
dl
rm
node-environment.js
757
0644
edit
dl
rm
node-environment.js.map
1165
0644
edit
dl
rm
node-polyfill-crypto.js
544
0644
edit
dl
rm
node-polyfill-crypto.js.map
1013
0644
edit
dl
rm
optimize-amp.js
360
0644
edit
dl
rm
optimize-amp.js.map
823
0644
edit
dl
rm
patch-error-inspect.js
17533
0644
edit
dl
rm
patch-error-inspect.js.map
28593
0644
edit
dl
rm
pipe-readable.js
5021
0644
edit
dl
rm
pipe-readable.js.map
7702
0644
edit
dl
rm
post-process.js
1800
0644
edit
dl
rm
post-process.js.map
3997
0644
edit
dl
rm
ReactDOMServerPages.d.ts
38
0644
edit
dl
rm
ReactDOMServerPages.js
584
0644
edit
dl
rm
ReactDOMServerPages.js.map
956
0644
edit
dl
rm
render-result.js
7204
0644
edit
dl
rm
render-result.js.map
14239
0644
edit
dl
rm
render.js
53487
0644
edit
dl
rm
render.js.map
85442
0644
edit
dl
rm
request-meta.js
1341
0644
edit
dl
rm
request-meta.js.map
9433
0644
edit
dl
rm
require-hook.js
2277
0644
edit
dl
rm
require-hook.js.map
4397
0644
edit
dl
rm
require.js
3042
0644
edit
dl
rm
require.js.map
6107
0644
edit
dl
rm
revalidation-utils.js
2917
0644
edit
dl
rm
revalidation-utils.js.map
5708
0644
edit
dl
rm
route-kind.js
829
0644
edit
dl
rm
route-kind.js.map
927
0644
edit
dl
rm
send-payload.js
2174
0644
edit
dl
rm
send-payload.js.map
4212
0644
edit
dl
rm
send-response.js
3040
0644
edit
dl
rm
send-response.js.map
4598
0644
edit
dl
rm
serve-static.js
1334
0644
edit
dl
rm
serve-static.js.map
2603
0644
edit
dl
rm
server-route-utils.js
1061
0644
edit
dl
rm
server-route-utils.js.map
1999
0644
edit
dl
rm
server-utils.js
15315
0644
edit
dl
rm
server-utils.js.map
26139
0644
edit
dl
rm
setup-http-agent-env.js
832
0644
edit
dl
rm
setup-http-agent-env.js.map
1439
0644
edit
dl
rm
utils.js
2672
0644
edit
dl
rm
utils.js.map
4139
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/next/dist/esm/server/pipe-readable.js
(5021B)
import { ResponseAbortedName, createAbortController } from './web/spec-extension/adapters/next-request'; import { DetachedPromise } from '../lib/detached-promise'; import { getTracer } from './lib/trace/tracer'; import { NextNodeServerSpan } from './lib/trace/constants'; import { getClientComponentLoaderMetrics } from './client-component-renderer-logger'; export function isAbortError(e) { return (e == null ? void 0 : e.name) === 'AbortError' || (e == null ? void 0 : e.name) === ResponseAbortedName; } function createWriterFromResponse(res, waitUntilForEnd) { let started = false; // Create a promise that will resolve once the response has drained. See // https://nodejs.org/api/stream.html#stream_event_drain let drained = new DetachedPromise(); function onDrain() { drained.resolve(); } res.on('drain', onDrain); // If the finish event fires, it means we shouldn't block and wait for the // drain event. res.once('close', ()=>{ res.off('drain', onDrain); drained.resolve(); }); // Create a promise that will resolve once the response has finished. See // https://nodejs.org/api/http.html#event-finish_1 const finished = new DetachedPromise(); res.once('finish', ()=>{ finished.resolve(); }); // Create a writable stream that will write to the response. return new WritableStream({ write: async (chunk)=>{ // You'd think we'd want to use `start` instead of placing this in `write` // but this ensures that we don't actually flush the headers until we've // started writing chunks. if (!started) { started = true; if ('performance' in globalThis && process.env.NEXT_OTEL_PERFORMANCE_PREFIX) { const metrics = getClientComponentLoaderMetrics(); if (metrics) { performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`, { start: metrics.clientComponentLoadStart, end: metrics.clientComponentLoadStart + metrics.clientComponentLoadTimes }); } } res.flushHeaders(); getTracer().trace(NextNodeServerSpan.startResponse, { spanName: 'start response' }, ()=>undefined); } try { const ok = res.write(chunk); // Added by the `compression` middleware, this is a function that will // flush the partially-compressed response to the client. if ('flush' in res && typeof res.flush === 'function') { res.flush(); } // If the write returns false, it means there's some backpressure, so // wait until it's streamed before continuing. if (!ok) { await drained.promise; // Reset the drained promise so that we can wait for the next drain event. drained = new DetachedPromise(); } } catch (err) { res.end(); throw Object.defineProperty(new Error('failed to write chunk to response', { cause: err }), "__NEXT_ERROR_CODE", { value: "E321", enumerable: false, configurable: true }); } }, abort: (err)=>{ if (res.writableFinished) return; res.destroy(err); }, close: async ()=>{ // if a waitUntil promise was passed, wait for it to resolve before // ending the response. if (waitUntilForEnd) { await waitUntilForEnd; } if (res.writableFinished) return; res.end(); return finished.promise; } }); } export async function pipeToNodeResponse(readable, res, waitUntilForEnd) { try { // If the response has already errored, then just return now. const { errored, destroyed } = res; if (errored || destroyed) return; // Create a new AbortController so that we can abort the readable if the // client disconnects. const controller = createAbortController(res); const writer = createWriterFromResponse(res, waitUntilForEnd); await readable.pipeTo(writer, { signal: controller.signal }); } catch (err) { // If this isn't related to an abort error, re-throw it. if (isAbortError(err)) return; throw Object.defineProperty(new Error('failed to pipe response', { cause: err }), "__NEXT_ERROR_CODE", { value: "E180", enumerable: false, configurable: true }); } } //# sourceMappingURL=pipe-readable.js.map
Save
cmd:
run