| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | package nginximport (	"os/exec"	"runtime"	"github.com/0xJacky/Nginx-UI/settings"	"github.com/uozi-tech/cosy/logger")var (	nginxSbinPath string	nginxVOutput  string	nginxTOutput  string)// Returns the path to the nginx executablefunc getNginxSbinPath() string {	// load from cache	if nginxSbinPath != "" {		return nginxSbinPath	}	// load from settings	if settings.NginxSettings.SbinPath != "" {		nginxSbinPath = settings.NginxSettings.SbinPath		return nginxSbinPath	}	// load from system	var path string	var err error	if runtime.GOOS == "windows" {		path, err = exec.LookPath("nginx.exe")	} else {		path, err = exec.LookPath("nginx")	}	if err == nil {		nginxSbinPath = path		return nginxSbinPath	}	return nginxSbinPath}func getNginxV() string {	// load from cache	if nginxVOutput != "" {		return nginxVOutput	}	// load from system	exePath := getNginxSbinPath()	out, err := execCommand(exePath, "-V")	if err != nil {		logger.Error(err)		return ""	}	nginxVOutput = out	return nginxVOutput}// getNginxT executes nginx -T and returns the outputfunc getNginxT() string {	// load from cache	if nginxTOutput != "" {		return nginxTOutput	}	// load from system	exePath := getNginxSbinPath()	out, err := execCommand(exePath, "-T")	if err != nil {		logger.Error(err)		return ""	}	nginxTOutput = out	return nginxTOutput}
 |