self_check.go 894 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package system
  2. import (
  3. "net/http"
  4. "github.com/gorilla/websocket"
  5. "github.com/uozi-tech/cosy/logger"
  6. "time"
  7. "github.com/0xJacky/Nginx-UI/internal/self_check"
  8. "github.com/gin-gonic/gin"
  9. )
  10. func SelfCheck(c *gin.Context) {
  11. report := self_check.Run()
  12. c.JSON(http.StatusOK, report)
  13. }
  14. func SelfCheckFix(c *gin.Context) {
  15. result := self_check.AttemptFix(c.Param("name"))
  16. c.JSON(http.StatusOK, result)
  17. }
  18. func CheckWebSocket(c *gin.Context) {
  19. var upgrader = websocket.Upgrader{
  20. CheckOrigin: func(r *http.Request) bool {
  21. return true
  22. },
  23. }
  24. ws, err := upgrader.Upgrade(c.Writer, c.Request, nil)
  25. if err != nil {
  26. logger.Error(err)
  27. return
  28. }
  29. defer ws.Close()
  30. err = ws.WriteJSON(gin.H{
  31. "message": "ok",
  32. })
  33. if err != nil {
  34. logger.Error(err)
  35. return
  36. }
  37. }
  38. func TimeoutCheck(c *gin.Context) {
  39. time.Sleep(time.Minute)
  40. c.JSON(http.StatusOK, gin.H{
  41. "message": "ok",
  42. })
  43. }