Browse Source

fix: try to fix panic #369

CalciumIon 1 year ago
parent
commit
e3b83f886f
1 changed files with 4 additions and 3 deletions
  1. 4 3
      service/relay.go

+ 4 - 3
service/relay.go

@@ -5,6 +5,7 @@ import (
 	"errors"
 	"fmt"
 	"github.com/gin-gonic/gin"
+	"net/http"
 	"one-api/common"
 )
 
@@ -20,10 +21,10 @@ func StringData(c *gin.Context, str string) error {
 	//str = strings.TrimPrefix(str, "data: ")
 	//str = strings.TrimSuffix(str, "\r")
 	c.Render(-1, common.CustomEvent{Data: "data: " + str})
-	if c.Writer != nil {
-		c.Writer.Flush()
+	if flusher, ok := c.Writer.(http.Flusher); ok {
+		flusher.Flush()
 	} else {
-		return errors.New("writer is nil")
+		return errors.New("streaming error: flusher not found")
 	}
 	return nil
 }