Quellcode durchsuchen

:art: Concurrency control when requesting the kernel API https://github.com/siyuan-note/siyuan/issues/9939

Daniel vor 1 Jahr
Ursprung
Commit
a190066523
1 geänderte Dateien mit 6 neuen und 0 gelöschten Zeilen
  1. 6 0
      kernel/model/session.go

+ 6 - 0
kernel/model/session.go

@@ -28,6 +28,7 @@ import (
 
 
 	"github.com/88250/gulu"
 	"github.com/88250/gulu"
 	"github.com/gin-gonic/gin"
 	"github.com/gin-gonic/gin"
+	"github.com/gorilla/websocket"
 	"github.com/siyuan-note/logging"
 	"github.com/siyuan-note/logging"
 	"github.com/siyuan-note/siyuan/kernel/util"
 	"github.com/siyuan-note/siyuan/kernel/util"
 	"github.com/steambap/captcha"
 	"github.com/steambap/captcha"
@@ -325,6 +326,11 @@ var (
 )
 )
 
 
 func ControlConcurrency(c *gin.Context) {
 func ControlConcurrency(c *gin.Context) {
+	if websocket.IsWebSocketUpgrade(c.Request) {
+		c.Next()
+		return
+	}
+
 	requestingLock.Lock()
 	requestingLock.Lock()
 	mutex := requesting[c.Request.URL.Path]
 	mutex := requesting[c.Request.URL.Path]
 	if nil == mutex {
 	if nil == mutex {