31 lines
637 B
TypeScript
31 lines
637 B
TypeScript
import { Handlers } from "$fresh/server.ts";
|
|
|
|
function GET() {
|
|
let timer: number | undefined = undefined;
|
|
const body = new ReadableStream({
|
|
start(controller) {
|
|
timer = setInterval(() => {
|
|
const message = `It is ${new Date().toISOString()}\n`;
|
|
controller.enqueue(new TextEncoder().encode(message));
|
|
}, 1000);
|
|
},
|
|
|
|
cancel() {
|
|
if (timer !== undefined) {
|
|
clearInterval(timer);
|
|
}
|
|
},
|
|
});
|
|
|
|
return new Response(body, {
|
|
headers: {
|
|
"content-type": "text/plain",
|
|
"x-content-type-options": "nosniff",
|
|
},
|
|
});
|
|
}
|
|
|
|
export const handler: Handlers = {
|
|
GET,
|
|
};
|