Fix crash on poe streaming

This commit is contained in:
SillyLossy
2023-04-13 15:14:43 +03:00
parent 25ae214c12
commit 661b41341e

View File

@@ -353,6 +353,7 @@ app.post("/generate_textgenerationwebui", jsonParser, async function (request, r
const SEND_PARAMS_GRADIO_FN = 29; const SEND_PARAMS_GRADIO_FN = 29;
response_generate.writeHead(200, { response_generate.writeHead(200, {
'Content-Type': 'text/plain;charset=utf-8',
'Transfer-Encoding': 'chunked', 'Transfer-Encoding': 'chunked',
'Cache-Control': 'no-transform', 'Cache-Control': 'no-transform',
}); });
@@ -1924,11 +1925,20 @@ app.post('/generate_poe', jsonParser, async (request, response) => {
const bot = request.body.bot ?? POE_DEFAULT_BOT; const bot = request.body.bot ?? POE_DEFAULT_BOT;
const streaming = request.body.streaming ?? false; const streaming = request.body.streaming ?? false;
let client;
try { try {
const client = await getPoeClient(token); client = await getPoeClient(token);
}
catch (error) {
console.error(error);
return response.sendStatus(500);
}
if (streaming) { if (streaming) {
try {
response.writeHead(200, { response.writeHead(200, {
'Content-Type': 'text/plain;charset=utf-8',
'Transfer-Encoding': 'chunked', 'Transfer-Encoding': 'chunked',
'Cache-Control': 'no-transform', 'Cache-Control': 'no-transform',
}); });
@@ -1940,10 +1950,17 @@ app.post('/generate_poe', jsonParser, async (request, response) => {
response.write(newText); response.write(newText);
} }
console.log(reply); console.log(reply);
}
catch (err) {
console.error(err);
}
finally {
client.disconnect_ws(); client.disconnect_ws();
response.end(); return response.end();
}
} }
else { else {
try {
let reply; let reply;
for await (const mes of client.send_message(bot, prompt)) { for await (const mes of client.send_message(bot, prompt)) {
reply = mes.text; reply = mes.text;
@@ -1952,11 +1969,11 @@ app.post('/generate_poe', jsonParser, async (request, response) => {
client.disconnect_ws(); client.disconnect_ws();
return response.send({ 'reply': reply }); return response.send({ 'reply': reply });
} }
} catch {
catch (error) { client.disconnect_ws();
console.error(error);
return response.sendStatus(500); return response.sendStatus(500);
} }
}
}); });
function getThumbnailFolder(type) { function getThumbnailFolder(type) {