123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package nginx
- import (
- "nginx-ui/server/models"
- )
- var INSTANCES = map[int]*Instance{}
- func GetInstance(nginx *models.Nginx) *Instance {
- var 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.Proxy {
- instance = &Instance{
- &AgentInstance{
- nginx: nginx,
- },
- nginx,
- }
- } else if nginx.IsLocal {
- instance = &Instance{
- &LocalInstance{
- nginx: nginx,
- },
- nginx,
- }
- } else {
- instance = &Instance{
- &RemoteInstance{
- nginx: nginx,
- },
- nginx,
- }
- }
- instance.SetNginx(nginx)
- INSTANCES[nginx.Id] = instance
- return instance
- }
|