/
opt
/
canhelp
/
node_modules
/
next
/
dist
/
server
/
web
/
/opt/canhelp/node_modules/next/dist/server/web
mkdir
upload
Name
Size
Mode
Actions
exports/
-
0755
rm
sandbox/
-
0755
rm
spec-extension/
-
0755
rm
adapter.d.ts
1021
0644
edit
dl
rm
adapter.js
18574
0644
edit
dl
rm
adapter.js.map
28406
0644
edit
dl
rm
edge-route-module-wrapper.d.ts
1367
0644
edit
dl
rm
edge-route-module-wrapper.js
5184
0644
edit
dl
rm
edge-route-module-wrapper.js.map
8522
0644
edit
dl
rm
error.d.ts
264
0644
edit
dl
rm
error.js
1423
0644
edit
dl
rm
error.js.map
1396
0644
edit
dl
rm
get-edge-preview-props.d.ts
387
0644
edit
dl
rm
get-edge-preview-props.js
802
0644
edit
dl
rm
get-edge-preview-props.js.map
1067
0644
edit
dl
rm
globals.d.ts
402
0644
edit
dl
rm
globals.js
4830
0644
edit
dl
rm
globals.js.map
6158
0644
edit
dl
rm
http.d.ts
674
0644
edit
dl
rm
http.js
795
0644
edit
dl
rm
http.js.map
1124
0644
edit
dl
rm
internal-edge-wait-until.d.ts
156
0644
edit
dl
rm
internal-edge-wait-until.js
2172
0644
edit
dl
rm
internal-edge-wait-until.js.map
2932
0644
edit
dl
rm
next-url.d.ts
1752
0644
edit
dl
rm
next-url.js
7440
0644
edit
dl
rm
next-url.js.map
13248
0644
edit
dl
rm
types.d.ts
1941
0644
edit
dl
rm
types.js
115
0644
edit
dl
rm
types.js.map
67
0644
edit
dl
rm
utils.d.ts
1249
0644
edit
dl
rm
utils.js
4914
0644
edit
dl
rm
utils.js.map
8365
0644
edit
dl
rm
web-on-close.d.ts
542
0644
edit
dl
rm
web-on-close.js
2785
0644
edit
dl
rm
web-on-close.js.map
3406
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/next/dist/server/web/web-on-close.js
(2785B)
/** Monitor when the consumer finishes reading the response body. that's as close as we can get to `res.on('close')` using web APIs. */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { CloseController: null, trackBodyConsumed: null, trackStreamConsumed: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { CloseController: function() { return CloseController; }, trackBodyConsumed: function() { return trackBodyConsumed; }, trackStreamConsumed: function() { return trackStreamConsumed; } }); function trackBodyConsumed(body, onEnd) { if (typeof body === 'string') { const generator = async function* generate() { const encoder = new TextEncoder(); yield encoder.encode(body); onEnd(); }; // @ts-expect-error BodyInit typings doesn't seem to include AsyncIterables even though it's supported in practice return generator(); } else { return trackStreamConsumed(body, onEnd); } } function trackStreamConsumed(stream, onEnd) { // NOTE: This function must handle `stream` being aborted or cancelled, // so it can't just be this: // // return stream.pipeThrough(new TransformStream({ flush() { onEnd() } })) // // because that doesn't handle cancellations. // (and cancellation handling via `Transformer.cancel` is only available in node >20) const dest = new TransformStream(); const runOnEnd = ()=>onEnd(); stream.pipeTo(dest.writable).then(runOnEnd, runOnEnd); return dest.readable; } class CloseController { onClose(callback) { if (this.isClosed) { throw Object.defineProperty(new Error('Cannot subscribe to a closed CloseController'), "__NEXT_ERROR_CODE", { value: "E365", enumerable: false, configurable: true }); } this.target.addEventListener('close', callback); this.listeners++; } dispatchClose() { if (this.isClosed) { throw Object.defineProperty(new Error('Cannot close a CloseController multiple times'), "__NEXT_ERROR_CODE", { value: "E229", enumerable: false, configurable: true }); } if (this.listeners > 0) { this.target.dispatchEvent(new Event('close')); } this.isClosed = true; } constructor(){ this.target = new EventTarget(); this.listeners = 0; this.isClosed = false; } } //# sourceMappingURL=web-on-close.js.map
Save
cmd:
run