heruvym/internal/utils/middleware/sse_middleware.go

29 lines
574 B
Go
Raw Normal View History

2021-05-15 14:03:10 +00:00
package middleware
import (
2024-09-25 10:18:19 +00:00
"github.com/gofiber/fiber/v2"
2024-09-25 14:22:57 +00:00
"heruvym/internal/utils/jwt_adapter"
2021-05-15 14:03:10 +00:00
)
2024-09-25 10:18:19 +00:00
func (mw *Middleware) MiddlewareGetJwt(c *fiber.Ctx) error {
if c.Method() != fiber.MethodGet {
return c.Next()
}
2021-05-15 14:03:10 +00:00
2024-09-25 10:18:19 +00:00
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
2021-05-15 14:03:10 +00:00
}
2024-09-25 10:18:19 +00:00
c.Locals(jwt_adapter.DefaultHeaderKey, &jwt_adapter.JwtAdapter{Id: sess})
}
2021-05-15 14:03:10 +00:00
2024-09-25 10:18:19 +00:00
return c.Next()
2021-05-15 14:03:10 +00:00
}