|
@@ -146,12 +146,7 @@ func (s *Server) GenerateHandler(c *gin.Context) {
|
|
|
select {
|
|
|
case runner = <-rCh:
|
|
|
case err = <-eCh:
|
|
|
- if errors.Is(err, context.Canceled) {
|
|
|
- c.JSON(499, gin.H{"error": "request canceled"})
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
|
|
+ handleErrorResponse(c, err)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -394,12 +389,7 @@ func (s *Server) EmbeddingsHandler(c *gin.Context) {
|
|
|
select {
|
|
|
case runner = <-rCh:
|
|
|
case err = <-eCh:
|
|
|
- if errors.Is(err, context.Canceled) {
|
|
|
- c.JSON(499, gin.H{"error": "request canceled"})
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
|
|
+ handleErrorResponse(c, err)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -1212,12 +1202,7 @@ func (s *Server) ChatHandler(c *gin.Context) {
|
|
|
select {
|
|
|
case runner = <-rCh:
|
|
|
case err = <-eCh:
|
|
|
- if errors.Is(err, context.Canceled) {
|
|
|
- c.JSON(499, gin.H{"error": "request canceled"})
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
|
|
+ handleErrorResponse(c, err)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -1338,3 +1323,15 @@ func (s *Server) ChatHandler(c *gin.Context) {
|
|
|
|
|
|
streamResponse(c, ch)
|
|
|
}
|
|
|
+
|
|
|
+func handleErrorResponse(c *gin.Context, err error) {
|
|
|
+ if errors.Is(err, context.Canceled) {
|
|
|
+ c.JSON(499, gin.H{"error": "request canceled"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if errors.Is(err, ErrMaxQueue) {
|
|
|
+ c.JSON(http.StatusServiceUnavailable, gin.H{"error": err.Error()})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
|
|
+}
|