mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2026-05-06 22:12:23 +08:00
37 lines
964 B
Go
37 lines
964 B
Go
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,
|
|
})
|
|
}
|