From 6458eb264e8adf5df494e04c04cfb7993a978749 Mon Sep 17 00:00:00 2001 From: Farnabaz Date: Wed, 4 Aug 2021 13:13:14 +0430 Subject: [PATCH] feat: simulate body events --- src/runtime/fetch/call.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/runtime/fetch/call.ts b/src/runtime/fetch/call.ts index 8638f72d..b72d3779 100644 --- a/src/runtime/fetch/call.ts +++ b/src/runtime/fetch/call.ts @@ -1,5 +1,6 @@ import { IncomingMessage } from '../node/http/request' import { ServerResponse } from '../node/http/response' +import { EventEmitter } from 'events' export type Handle = (req: IncomingMessage, res: ServerResponse) => Promise @@ -30,6 +31,16 @@ export function createCall (handle: Handle) { // @ts-ignore req.body = context.body || null + if (context.body) { + // @ts-ignore + process.nextTick(() => { + const data = new TextEncoder().encode(context.body); + (req as EventEmitter).emit('data', data) + (req as EventEmitter).emit('end') + }) + } + + return handle(req, res).then(() => { const r = { body: res._data.toString(),