aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/node/test/fixtures/api-route/src/pages/streaming.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/node/test/fixtures/api-route/src/pages/streaming.ts')
-rw-r--r--packages/integrations/node/test/fixtures/api-route/src/pages/streaming.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/packages/integrations/node/test/fixtures/api-route/src/pages/streaming.ts b/packages/integrations/node/test/fixtures/api-route/src/pages/streaming.ts
new file mode 100644
index 000000000..9ecb884bf
--- /dev/null
+++ b/packages/integrations/node/test/fixtures/api-route/src/pages/streaming.ts
@@ -0,0 +1,22 @@
+export const GET = ({ locals }) => {
+ let sentChunks = 0;
+
+ const readableStream = new ReadableStream({
+ async pull(controller) {
+ if (sentChunks === 3) return controller.close();
+ else sentChunks++;
+
+ await new Promise(resolve => setTimeout(resolve, 1000));
+ controller.enqueue(new TextEncoder().encode('hello\n'));
+ },
+ cancel() {
+ locals.cancelledByTheServer = true;
+ }
+ });
+
+ return new Response(readableStream, {
+ headers: {
+ "Content-Type": "text/event-stream"
+ }
+ });
+}