api.go 713 B

123456789101112131415161718192021222324252627
  1. package api
  2. import (
  3. "github.com/0xJacky/Nginx-UI/model"
  4. "github.com/gin-gonic/gin"
  5. "github.com/uozi-tech/cosy/logger"
  6. "net/http"
  7. )
  8. func CurrentUser(c *gin.Context) *model.User {
  9. return c.MustGet("user").(*model.User)
  10. }
  11. func ErrHandler(c *gin.Context, err error) {
  12. logger.GetLogger().Errorln(err)
  13. c.JSON(http.StatusInternalServerError, gin.H{
  14. "message": err.Error(),
  15. })
  16. }
  17. func SetSSEHeaders(c *gin.Context) {
  18. c.Header("Content-Type", "text/event-stream")
  19. c.Header("Cache-Control", "no-cache")
  20. c.Header("Connection", "keep-alive")
  21. // https://stackoverflow.com/questions/27898622/server-sent-events-stopped-work-after-enabling-ssl-on-proxy/27960243#27960243
  22. c.Header("X-Accel-Buffering", "no")
  23. }