mirror of
https://github.com/OwO-Network/DeepLX.git
synced 2026-06-11 15:28:50 +00:00
fix(service): return 500 instead of crashing on translation error (#224)
The /translate, /v1/translate and /v2/translate handlers called log.Fatalf when TranslateByDeepLX returned an error. log.Fatalf calls os.Exit, so a single failed translation would tear down the whole server process. Return a 500 JSON response and keep serving instead.
This commit is contained in:
parent
1b88e428ae
commit
3f099d187c
@ -127,7 +127,11 @@ func Router(cfg *Config) *gin.Engine {
|
||||
|
||||
result, err := translate.TranslateByDeepLX(sourceLang, targetLang, translateText, tagHandling, proxyURL, "")
|
||||
if err != nil {
|
||||
log.Fatalf("Translation failed: %s", err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{
|
||||
"code": http.StatusInternalServerError,
|
||||
"message": "Translation failed: " + err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if result.Code == http.StatusOK {
|
||||
@ -191,7 +195,11 @@ func Router(cfg *Config) *gin.Engine {
|
||||
|
||||
result, err := translate.TranslateByDeepLX(sourceLang, targetLang, translateText, tagHandling, proxyURL, dlSession)
|
||||
if err != nil {
|
||||
log.Fatalf("Translation failed: %s", err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{
|
||||
"code": http.StatusInternalServerError,
|
||||
"message": "Translation failed: " + err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if result.Code == http.StatusOK {
|
||||
@ -243,7 +251,11 @@ func Router(cfg *Config) *gin.Engine {
|
||||
|
||||
result, err := translate.TranslateByDeepLX("", targetLang, translateText, "", proxyURL, "")
|
||||
if err != nil {
|
||||
log.Fatalf("Translation failed: %s", err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{
|
||||
"code": http.StatusInternalServerError,
|
||||
"message": "Translation failed: " + err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if result.Code == http.StatusOK {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user