mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-20 19:24:29 +00:00
40 lines
662 B
TypeScript
40 lines
662 B
TypeScript
import type { NextApiResponse } from 'next';
|
|
|
|
export function responseWriteController({
|
|
res,
|
|
readStream
|
|
}: {
|
|
res: NextApiResponse;
|
|
readStream: any;
|
|
}) {
|
|
res.on('drain', () => {
|
|
readStream.resume();
|
|
});
|
|
|
|
return (text: string | Buffer) => {
|
|
const writeResult = res.write(text);
|
|
if (!writeResult) {
|
|
readStream?.pause();
|
|
}
|
|
};
|
|
}
|
|
|
|
export function responseWrite({
|
|
res,
|
|
write,
|
|
event,
|
|
data
|
|
}: {
|
|
res?: NextApiResponse;
|
|
write?: (text: string) => void;
|
|
event?: string;
|
|
data: string;
|
|
}) {
|
|
const Write = write || res?.write;
|
|
|
|
if (!Write) return;
|
|
|
|
event && Write(`event: ${event}\n`);
|
|
Write(`data: ${data}\n\n`);
|
|
}
|