package Managers import ( "AnP/Drivers" "AnP/Models" ) type HTTPServersManager struct { anp Models.AnPModel servers map[string]*Drivers.HTTPDriver } func NewHTTPServersManager(anp Models.AnPModel, inputs any) HTTPServersManager { var manager HTTPServersManager = HTTPServersManager{ anp: anp, servers: map[string]*Drivers.HTTPDriver{}, } for _, key := range []string{ "default_http_servers_files", "default_http_servers", "http_servers_files", "http_servers", } { manager.Add(anp.Settings.Get(key, nil, nil), false) } return manager } func (_self *HTTPServersManager) Add(inputs any, overwrite bool) { _self.anp.Request.LoadJSON(inputs, func(response any) { switch group := response.(type) { case map[string]any: for key, data := range group { _, exists := _self.servers[key] if overwrite || !exists { switch subinputs := data.(type) { case map[string]any: _self.servers[key] = Drivers.NewHTTPDriver(_self.anp, subinputs) } } } } }, true) }