heruvym/middleware/sse_middleware.go

29 lines
559 B
Go

package middleware
import (
"github.com/gofiber/fiber/v2"
"heruvym/jwt_adapter"
)
func (mw *Middleware) MiddlewareGetJwt(c *fiber.Ctx) error {
if c.Method() != fiber.MethodGet {
return c.Next()
}
bearer := c.Query(jwt_adapter.DefaultHeaderKey)
if bearer != "" {
adapter, err := jwt_adapter.Decode(bearer)
if err == nil {
c.Locals(jwt_adapter.DefaultHeaderKey, adapter)
}
} else {
sess := c.Query("s")
if sess == "" {
return nil
}
c.Locals(jwt_adapter.DefaultHeaderKey, &jwt_adapter.JwtAdapter{Id: sess})
}
return c.Next()
}