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 }