#1248 Fix a server crash on unexpected models response

This commit is contained in:
Cohee
2023-10-16 20:25:51 +03:00
parent 4f458ce93a
commit 8a3547ecd0

View File

@@ -2748,7 +2748,7 @@ app.post("/getstatus_openai", jsonParser, async function (request, response_gets
const data = await response.json(); const data = await response.json();
response_getstatus_openai.send(data); response_getstatus_openai.send(data);
if (request.body.use_openrouter) { if (request.body.use_openrouter && Array.isArray(data?.data)) {
let models = []; let models = [];
data.data.forEach(model => { data.data.forEach(model => {
@@ -2763,8 +2763,14 @@ app.post("/getstatus_openai", jsonParser, async function (request, response_gets
console.log('Available OpenRouter models:', models); console.log('Available OpenRouter models:', models);
} else { } else {
const modelIds = data?.data?.map(x => x.id)?.sort(); const models = data?.data;
if (Array.isArray(models)) {
const modelIds = models.filter(x => x && typeof x === 'object').map(x => x.id).sort();
console.log('Available OpenAI models:', modelIds); console.log('Available OpenAI models:', modelIds);
} else {
console.log('OpenAI endpoint did not return a list of models.')
}
} }
} }
else { else {
@@ -2773,7 +2779,12 @@ app.post("/getstatus_openai", jsonParser, async function (request, response_gets
} }
} catch (e) { } catch (e) {
console.error(e); console.error(e);
if (!response_getstatus_openai.headersSent) {
response_getstatus_openai.send({ error: true }); response_getstatus_openai.send({ error: true });
} else {
response_getstatus_openai.end();
}
} }
}); });