12345678910111213141516171819202122232425262728293031323334353637383940 |
- package nginx
- import (
- "nginx-ui/server/models"
- )
- var INSTANCES = map[int]*Instance{}
- func GetInstance(nginx *models.Nginx) *Instance {
- var instance *Instance = INSTANCES[nginx.Id]
- if instance != nil {
- old := instance.nginx
- if old.IpAddr != nginx.IpAddr || old.Port != nginx.Port || old.User != nginx.User || old.Password != nginx.Password {
- instance.Close(false)
- instance = nil
- INSTANCES[nginx.Id] = nil
- } else {
- instance.nginx = nginx
- instance.SetNginx(nginx)
- return instance
- }
- }
- if nginx.IsLocal {
- instance = &Instance{
- &LocalInstance{
- nginx: nginx,
- },
- nginx,
- }
- } else {
- instance = &Instance{
- &RemoteInstance{
- nginx: nginx,
- },
- nginx,
- }
- }
- INSTANCES[nginx.Id] = instance
- return instance
- }
|