/** Request completion is normal; premature response closure cancels dependent work. */ export function requestLifetime(req, res) { const controller = new AbortController(); const abort = () => controller.abort(); const closed = () => {if (!res.writableFinished) abort();}; req.once('aborted',abort);res.once('close',closed); if(req.aborted || res.destroyed) abort(); return {signal:controller.signal,dispose(){req.off('aborted',abort);res.off('close',closed);}}; }