authorizer/server/middlewares/context.go

24 lines
600 B
Go
Raw Normal View History

package middlewares
import (
"context"
"log"
"github.com/authorizerdev/authorizer/server/constants"
"github.com/gin-contrib/location"
"github.com/gin-gonic/gin"
)
func GinContextToContextMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
2021-12-31 08:22:10 +00:00
if constants.EnvData.AUTHORIZER_URL == "" {
url := location.Get(c)
2021-12-31 08:22:10 +00:00
constants.EnvData.AUTHORIZER_URL = url.Scheme + "://" + c.Request.Host
log.Println("authorizer url:", constants.EnvData.AUTHORIZER_URL)
}
ctx := context.WithValue(c.Request.Context(), "GinContextKey", c)
c.Request = c.Request.WithContext(ctx)
c.Next()
}
}