Don't crash server if google translate fails

This commit is contained in:
Cohee 2023-11-23 00:59:34 +02:00
parent 35349dd8d7
commit 45b714fb9e

View File

@ -58,6 +58,7 @@ function registerEndpoints(app, jsonParser) {
}); });
app.post('/api/translate/google', jsonParser, async (request, response) => { app.post('/api/translate/google', jsonParser, async (request, response) => {
try {
const { generateRequestUrl, normaliseResponse } = require('google-translate-api-browser'); const { generateRequestUrl, normaliseResponse } = require('google-translate-api-browser');
const text = request.body.text; const text = request.body.text;
const lang = request.body.lang; const lang = request.body.lang;
@ -78,14 +79,23 @@ function registerEndpoints(app, jsonParser) {
}); });
resp.on('end', () => { resp.on('end', () => {
try {
const result = normaliseResponse(JSON.parse(data)); const result = normaliseResponse(JSON.parse(data));
console.log('Translated text: ' + result.text); console.log('Translated text: ' + result.text);
return response.send(result.text); return response.send(result.text);
} catch (error) {
console.log("Translation error", error);
return response.sendStatus(500);
}
}); });
}).on("error", (err) => { }).on("error", (err) => {
console.log("Translation error: " + err.message); console.log("Translation error: " + err.message);
return response.sendStatus(500); return response.sendStatus(500);
}); });
} catch (error) {
console.log("Translation error", error);
return response.sendStatus(500);
}
}); });
app.post('/api/translate/deepl', jsonParser, async (request, response) => { app.post('/api/translate/deepl', jsonParser, async (request, response) => {