Code Review
/
src
/
xds
/
xds-server.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
update xds-server package in docker
[src/xds/xds-server.git]
/
lib
/
xdsserver
/
webserver.go
diff --git
a/lib/xdsserver/webserver.go
b/lib/xdsserver/webserver.go
index
24456b9
..
2654caa
100644
(file)
--- a/
lib/xdsserver/webserver.go
+++ b/
lib/xdsserver/webserver.go
@@
-84,6
+84,7
@@
func (s *WebServer) Serve() error {
s.router.Use(gin.Recovery())
s.router.Use(s.middlewareXDSDetails())
s.router.Use(s.middlewareCORS())
s.router.Use(gin.Recovery())
s.router.Use(s.middlewareXDSDetails())
s.router.Use(s.middlewareCORS())
+ s.router.Use(s.lockRequest())
// Create REST API
s.api = NewAPIV1(s.Context)
// Create REST API
s.api = NewAPIV1(s.Context)
@@
-172,6
+173,18
@@
func (s *WebServer) middlewareCORS() gin.HandlerFunc {
}
}
}
}
+func (s *WebServer) lockRequest() gin.HandlerFunc {
+ return func(c *gin.Context) {
+ s.lock.Lock()
+ s.lock.LockCpt++
+ s.lock.Unlock()
+ c.Next()
+ s.lock.Lock()
+ s.lock.LockCpt--
+ s.lock.Unlock()
+ }
+}
+
// socketHandler is the handler for the "main" websocket connection
func (s *WebServer) socketHandler(c *gin.Context) {
// socketHandler is the handler for the "main" websocket connection
func (s *WebServer) socketHandler(c *gin.Context) {