/home/techb158/balavpn.abdallabala.com/node_modules/next/dist/esm/server
NameSizeModeActions
after/-0777rm
api-utils/-0777rm
app-render/-0777rm
async-storage/-0777rm
base-http/-0777rm
dev/-0777rm
instrumentation/-0777rm
lib/-0777rm
node-environment-extensions/-0777rm
normalizers/-0777rm
og/-0777rm
request/-0777rm
response-cache/-0777rm
resume-data-cache/-0777rm
route-definitions/-0777rm
route-matcher-managers/-0777rm
route-matcher-providers/-0777rm
route-matchers/-0777rm
route-matches/-0777rm
route-modules/-0777rm
stream-utils/-0777rm
typescript/-0777rm
use-cache/-0777rm
web/-0777rm
accept-header.js38520666editdlrm
accept-header.js.map64540666editdlrm
base-server.js971990666editdlrm
base-server.js.map1631740666editdlrm
body-streams.js29790666editdlrm
body-streams.js.map54080666editdlrm
cache-dir.js3240666editdlrm
cache-dir.js.map6980666editdlrm
ci-info.js6560666editdlrm
ci-info.js.map13170666editdlrm
client-component-renderer-logger.js17390666editdlrm
client-component-renderer-logger.js.map29840666editdlrm
config-schema.js273500666editdlrm
config-schema.js.map541600666editdlrm
config-shared.js66020666editdlrm
config-shared.js.map580730666editdlrm
config-utils.js56760666editdlrm
config-utils.js.map65820666editdlrm
config.js714880666editdlrm
config.js.map996810666editdlrm
create-deduped-by-callsite-server-error-logger.js23300666editdlrm
create-deduped-by-callsite-server-error-logger.js.map36410666editdlrm
crypto-utils.js23300666editdlrm
crypto-utils.js.map42990666editdlrm
dynamic-rendering-utils.js29840666editdlrm
dynamic-rendering-utils.js.map48830666editdlrm
font-utils.js15540666editdlrm
font-utils.js.map30730666editdlrm
get-app-route-from-entrypoint.js4520666editdlrm
get-app-route-from-entrypoint.js.map8520666editdlrm
get-page-files.js5470666editdlrm
get-page-files.js.map16990666editdlrm
get-route-from-entrypoint.js7940666editdlrm
get-route-from-entrypoint.js.map13980666editdlrm
image-optimizer.js344020666editdlrm
image-optimizer.js.map565180666editdlrm
internal-utils.js5780666editdlrm
internal-utils.js.map13080666editdlrm
load-components.js62050666editdlrm
load-components.js.map131850666editdlrm
load-default-error-components.js15560666editdlrm
load-default-error-components.js.map38870666editdlrm
load-manifest.external.js23080666editdlrm
load-manifest.external.js.map57630666editdlrm
match-bundle.js3200666editdlrm
match-bundle.js.map7050666editdlrm
next-server.js656030666editdlrm
next-server.js.map1104480666editdlrm
next-typescript.js910666editdlrm
next-typescript.js.map2150666editdlrm
next.js135400666editdlrm
next.js.map269300666editdlrm
node-environment-baseline.js8760666editdlrm
node-environment-baseline.js.map15540666editdlrm
node-environment.js7570666editdlrm
node-environment.js.map11650666editdlrm
node-polyfill-crypto.js5440666editdlrm
node-polyfill-crypto.js.map10130666editdlrm
optimize-amp.js3600666editdlrm
optimize-amp.js.map8230666editdlrm
patch-error-inspect.js175330666editdlrm
patch-error-inspect.js.map285930666editdlrm
pipe-readable.js50210666editdlrm
pipe-readable.js.map77020666editdlrm
post-process.js18000666editdlrm
post-process.js.map39970666editdlrm
ReactDOMServerPages.d.ts380666editdlrm
ReactDOMServerPages.js5840666editdlrm
ReactDOMServerPages.js.map9560666editdlrm
render-result.js72040666editdlrm
render-result.js.map142390666editdlrm
render.js534870666editdlrm
render.js.map854420666editdlrm
request-meta.js13410666editdlrm
request-meta.js.map94330666editdlrm
require-hook.js22770666editdlrm
require-hook.js.map43970666editdlrm
require.js30420666editdlrm
require.js.map61070666editdlrm
revalidation-utils.js29170666editdlrm
revalidation-utils.js.map57080666editdlrm
route-kind.js8290666editdlrm
route-kind.js.map9270666editdlrm
send-payload.js21740666editdlrm
send-payload.js.map42120666editdlrm
send-response.js30400666editdlrm
send-response.js.map45980666editdlrm
serve-static.js13340666editdlrm
serve-static.js.map26030666editdlrm
server-route-utils.js10610666editdlrm
server-route-utils.js.map19990666editdlrm
server-utils.js153150666editdlrm
server-utils.js.map261390666editdlrm
setup-http-agent-env.js8320666editdlrm
setup-http-agent-env.js.map14390666editdlrm
utils.js26720666editdlrm
utils.js.map41390666editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/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