feat: add internal stats flush API

This commit is contained in:
zenfun
2025-12-19 23:26:33 +08:00
parent ac9f0cd0a7
commit 88289015fc
5 changed files with 244 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
package middleware
import (
"net/http"
"strings"
"github.com/gin-gonic/gin"
)
func InternalAuthMiddleware(expectedToken string) gin.HandlerFunc {
expectedToken = strings.TrimSpace(expectedToken)
return func(c *gin.Context) {
if expectedToken == "" {
c.Next()
return
}
token := strings.TrimSpace(c.GetHeader("X-Internal-Token"))
if token == "" || token != expectedToken {
c.JSON(http.StatusUnauthorized, gin.H{"error": "invalid internal token"})
c.Abort()
return
}
c.Next()
}
}