123456789101112131415161718192021222324252627282930313233343536 |
- package nginx
- import (
- "net/http"
- "github.com/0xJacky/Nginx-UI/internal/nginx"
- "github.com/gin-gonic/gin"
- )
- func GetModules(c *gin.Context) {
- modules := nginx.GetModules()
- modulesList := make([]*nginx.Module, 0, modules.Len())
- for _, module := range modules.AllFromFront() {
- modulesList = append(modulesList, module)
- }
- c.JSON(http.StatusOK, modulesList)
- }
- // RefreshModulesCache clears and rebuilds the nginx modules cache on demand.
- // It returns the refreshed modules list for immediate use by the frontend.
- func RefreshModulesCache(c *gin.Context) {
- // Clear cached modules to force re-parsing
- nginx.ClearModulesCache()
- // Rebuild modules cache immediately
- modules := nginx.GetModules()
- modulesList := make([]*nginx.Module, 0, modules.Len())
- for _, module := range modules.AllFromFront() {
- modulesList = append(modulesList, module)
- }
- c.JSON(http.StatusOK, gin.H{
- "message": "modules cache refreshed",
- "modules": modulesList,
- })
- }
|