25 lines
557 B
TypeScript
25 lines
557 B
TypeScript
import { Readable } from "node:stream"
|
|
|
|
export default defineEventHandler((event) => {
|
|
const size = 128 * 1024 * 1024
|
|
let sent = 0
|
|
|
|
const stream = new Readable({
|
|
read(chunkSize) {
|
|
if (sent >= size) {
|
|
this.push(null)
|
|
return
|
|
}
|
|
|
|
const remaining = size - sent
|
|
const chunk = Buffer.alloc(Math.min(chunkSize, remaining), "a")
|
|
sent += chunk.length
|
|
this.push(chunk)
|
|
}
|
|
})
|
|
|
|
setHeader(event, "Content-Type", "application/octet-stream")
|
|
setHeader(event, "Content-Length", size)
|
|
return stream
|
|
})
|