nginx-ui/internal/nginx/modules.go
Jacky 202ac03537
Some checks are pending
Build / build_app (push) Waiting to run
Build / build (386, linux) (push) Blocked by required conditions
Build / build (386, windows) (push) Blocked by required conditions
Build / build (amd64, darwin) (push) Blocked by required conditions
Build / build (amd64, linux) (push) Blocked by required conditions
Build / build (amd64, windows) (push) Blocked by required conditions
Build / build (arm, 5, linux) (push) Blocked by required conditions
Build / build (arm, 6, linux) (push) Blocked by required conditions
Build / build (arm, 7, linux) (push) Blocked by required conditions
Build / build (arm64, darwin) (push) Blocked by required conditions
Build / build (arm64, linux) (push) Blocked by required conditions
Build / build (arm64, windows) (push) Blocked by required conditions
Build / build (loong64, linux) (push) Blocked by required conditions
Build / build (mips, linux) (push) Blocked by required conditions
Build / build (mips64, linux) (push) Blocked by required conditions
Build / build (mips64le, linux) (push) Blocked by required conditions
Build / build (mipsle, linux) (push) Blocked by required conditions
Build / build (riscv64, linux) (push) Blocked by required conditions
Build / docker-build (push) Blocked by required conditions
CodeQL / Analyze (go) (push) Waiting to run
CodeQL / Analyze (javascript-typescript) (push) Waiting to run
feat(self-check): check stream if stream loaded #1028
2025-05-09 08:52:47 +08:00

44 lines
No EOL
783 B
Go

package nginx
import (
"regexp"
"strings"
)
const (
ModuleStream = "stream_module"
)
func GetModules() (modules []string) {
out := getNginxV()
// Regular expression to find modules in nginx -V output
r := regexp.MustCompile(`--with-([a-zA-Z0-9_-]+)(_module)?`)
// Find all matches
matches := r.FindAllStringSubmatch(out, -1)
// Extract module names from matches
for _, match := range matches {
module := match[1]
// If the module doesn't end with "_module", add it
if !strings.HasSuffix(module, "_module") {
module = module + "_module"
}
modules = append(modules, module)
}
return modules
}
func IsModuleLoaded(module string) bool {
modules := GetModules()
for _, m := range modules {
if m == module {
return true
}
}
return false
}