mirror of
https://github.com/yusing/godoxy.git
synced 2026-03-20 16:44:27 +01:00
feat(handler): add SkipOriginCheckMiddleware and configuration option to bypass origin checks
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gorilla/websocket"
|
||||
"github.com/rs/zerolog/log"
|
||||
swaggerFiles "github.com/swaggo/files"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
@@ -19,6 +20,7 @@ import (
|
||||
metricsApi "github.com/yusing/go-proxy/internal/api/v1/metrics"
|
||||
routeApi "github.com/yusing/go-proxy/internal/api/v1/route"
|
||||
"github.com/yusing/go-proxy/internal/auth"
|
||||
"github.com/yusing/go-proxy/internal/common"
|
||||
)
|
||||
|
||||
// @title GoDoxy API
|
||||
@@ -66,6 +68,9 @@ func NewHandler() *gin.Engine {
|
||||
if auth.IsEnabled() {
|
||||
v1.Use(AuthMiddleware())
|
||||
}
|
||||
if common.APISkipOriginCheck {
|
||||
v1.Use(SkipOriginCheckMiddleware())
|
||||
}
|
||||
{
|
||||
v1.GET("/favicon", apiV1.FavIcon)
|
||||
v1.GET("/health", apiV1.Health)
|
||||
@@ -152,6 +157,18 @@ func AuthMiddleware() gin.HandlerFunc {
|
||||
}
|
||||
}
|
||||
|
||||
func SkipOriginCheckMiddleware() gin.HandlerFunc {
|
||||
upgrader := &websocket.Upgrader{
|
||||
CheckOrigin: func(r *http.Request) bool {
|
||||
return true
|
||||
},
|
||||
}
|
||||
return func(c *gin.Context) {
|
||||
c.Set("upgrader", upgrader)
|
||||
c.Next()
|
||||
}
|
||||
}
|
||||
|
||||
func ErrorHandler() gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
c.Next()
|
||||
|
||||
Reference in New Issue
Block a user