Просмотр исходного кода

🐛 fix: replace direct response body closure with common.CloseResponseBodyGracefully for improved error handling

This update standardizes the closure of HTTP response bodies across multiple stream handlers, enhancing error management and resource cleanup. The new method ensures that any errors during closure are handled gracefully, preventing potential request termination issues.
CaIon 8 месяцев назад
Родитель
Сommit
281054ff4c

+ 1 - 4
relay/channel/ali/text.go

@@ -183,10 +183,7 @@ func aliStreamHandler(c *gin.Context, resp *http.Response) (*dto.OpenAIErrorWith
 			return false
 			return false
 		}
 		}
 	})
 	})
-	err := resp.Body.Close()
-	if err != nil {
-		return service.OpenAIErrorWrapper(err, "close_response_body_failed", http.StatusInternalServerError), nil
-	}
+	common.CloseResponseBodyGracefully(resp)
 	return nil, &usage
 	return nil, &usage
 }
 }
 
 

+ 1 - 4
relay/channel/baidu/relay-baidu.go

@@ -166,10 +166,7 @@ func baiduStreamHandler(c *gin.Context, resp *http.Response) (*dto.OpenAIErrorWi
 			return false
 			return false
 		}
 		}
 	})
 	})
-	err := resp.Body.Close()
-	if err != nil {
-		return service.OpenAIErrorWrapper(err, "close_response_body_failed", http.StatusInternalServerError), nil
-	}
+	common.CloseResponseBodyGracefully(resp)
 	return nil, &usage
 	return nil, &usage
 }
 }
 
 

+ 1 - 4
relay/channel/cloudflare/relay_cloudflare.go

@@ -81,10 +81,7 @@ func cfStreamHandler(c *gin.Context, resp *http.Response, info *relaycommon.Rela
 	}
 	}
 	helper.Done(c)
 	helper.Done(c)
 
 
-	err := resp.Body.Close()
-	if err != nil {
-		common.LogError(c, "close_response_body_failed: "+err.Error())
-	}
+	common.CloseResponseBodyGracefully(resp)
 
 
 	return nil, usage
 	return nil, usage
 }
 }

+ 1 - 4
relay/channel/palm/relay-palm.go

@@ -117,10 +117,7 @@ func palmStreamHandler(c *gin.Context, resp *http.Response) (*dto.OpenAIErrorWit
 			return false
 			return false
 		}
 		}
 	})
 	})
-	err := resp.Body.Close()
-	if err != nil {
-		return service.OpenAIErrorWrapper(err, "close_response_body_failed", http.StatusInternalServerError), ""
-	}
+	common.CloseResponseBodyGracefully(resp)
 	return nil, responseText
 	return nil, responseText
 }
 }
 
 

+ 1 - 4
relay/channel/tencent/relay-tencent.go

@@ -124,10 +124,7 @@ func tencentStreamHandler(c *gin.Context, resp *http.Response) (*dto.OpenAIError
 
 
 	helper.Done(c)
 	helper.Done(c)
 
 
-	err := resp.Body.Close()
-	if err != nil {
-		return service.OpenAIErrorWrapper(err, "close_response_body_failed", http.StatusInternalServerError), ""
-	}
+	common.CloseResponseBodyGracefully(resp)
 
 
 	return nil, responseText
 	return nil, responseText
 }
 }

+ 1 - 5
relay/channel/xai/text.go

@@ -73,11 +73,7 @@ func xAIStreamHandler(c *gin.Context, resp *http.Response, info *relaycommon.Rel
 	}
 	}
 
 
 	helper.Done(c)
 	helper.Done(c)
-	err := resp.Body.Close()
-	if err != nil {
-		//return service.OpenAIErrorWrapper(err, "close_response_body_failed", http.StatusInternalServerError), nil
-		common.SysError("close_response_body_failed: " + err.Error())
-	}
+	common.CloseResponseBodyGracefully(resp)
 	return nil, usage
 	return nil, usage
 }
 }
 
 

+ 1 - 4
relay/channel/zhipu/relay-zhipu.go

@@ -210,10 +210,7 @@ func zhipuStreamHandler(c *gin.Context, resp *http.Response) (*dto.OpenAIErrorWi
 			return false
 			return false
 		}
 		}
 	})
 	})
-	err := resp.Body.Close()
-	if err != nil {
-		return service.OpenAIErrorWrapper(err, "close_response_body_failed", http.StatusInternalServerError), nil
-	}
+	common.CloseResponseBodyGracefully(resp)
 	return nil, usage
 	return nil, usage
 }
 }