mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Updated NewCGRConfigFromPath to accept multiple urls
This commit is contained in:
committed by
Dan Christian Bogos
parent
b42934d730
commit
cb92297d03
@@ -271,16 +271,18 @@ func loadConfigFromFolder(cfg *CGRConfig, cfgDir string) (*CGRConfig, error) {
|
||||
return cfg, nil
|
||||
}
|
||||
|
||||
func loadConfigFromHttp(cfg *CGRConfig, urlPath string) (*CGRConfig, error) {
|
||||
if _, err := url.ParseRequestURI(urlPath); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if cgrJsonCfg, err := NewCgrJsonCfgFromHttp(urlPath); err != nil {
|
||||
utils.Logger.Err(fmt.Sprintf("<CGR-CFG> Error <%s> reading config from path: <%s>", err.Error(), urlPath))
|
||||
return nil, err
|
||||
} else if err := cfg.loadFromJsonCfg(cgrJsonCfg); err != nil {
|
||||
utils.Logger.Err(fmt.Sprintf("<CGR-CFG> Error <%s> loading config from path: <%s>", err.Error(), urlPath))
|
||||
return nil, err
|
||||
func loadConfigFromHttp(cfg *CGRConfig, urlPaths string) (*CGRConfig, error) {
|
||||
for _, urlPath := range strings.Split(urlPaths, utils.INFIELD_SEP) {
|
||||
if _, err := url.ParseRequestURI(urlPath); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if cgrJsonCfg, err := NewCgrJsonCfgFromHttp(urlPath); err != nil {
|
||||
utils.Logger.Err(fmt.Sprintf("<CGR-CFG> Error <%s> reading config from path: <%s>", err.Error(), urlPath))
|
||||
return nil, err
|
||||
} else if err := cfg.loadFromJsonCfg(cgrJsonCfg); err != nil {
|
||||
utils.Logger.Err(fmt.Sprintf("<CGR-CFG> Error <%s> loading config from path: <%s>", err.Error(), urlPath))
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
if err := cfg.checkConfigSanity(); err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -21,6 +21,7 @@ package config
|
||||
|
||||
import (
|
||||
"net"
|
||||
"os"
|
||||
"path"
|
||||
"reflect"
|
||||
"testing"
|
||||
@@ -49,8 +50,13 @@ func TestNewCgrJsonCfgFromHttp(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestNewCGRConfigFromPath(t *testing.T) {
|
||||
addr := "https://raw.githubusercontent.com/cgrates/cgrates/master/data/conf/samples/tutmongo/cgrates.json"
|
||||
expVal, err := NewCGRConfigFromPath(path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"))
|
||||
for key, val := range map[string]string{"LOGGER": "*syslog", "LOG_LEVEL": "6", "TLS_VERIFY": "false", "ROUND_DEC": "5",
|
||||
"DB_ENCODING": "*msgpack", "TP_EXPORT_DIR": "/var/spool/cgrates/tpe", "FAILED_POSTS_DIR": "/var/spool/cgrates/failed_posts",
|
||||
"DF_TENANT": "cgrates.org", "TIMEZONE": "Local"} {
|
||||
os.Setenv(key, val)
|
||||
}
|
||||
addr := "https://raw.githubusercontent.com/cgrates/cgrates/master/data/conf/samples/multifiles/a.json;https://raw.githubusercontent.com/cgrates/cgrates/master/data/conf/samples/multifiles/b/b.json;https://raw.githubusercontent.com/cgrates/cgrates/master/data/conf/samples/multifiles/c.json;https://raw.githubusercontent.com/cgrates/cgrates/master/data/conf/samples/multifiles/d.json"
|
||||
expVal, err := NewCGRConfigFromPath(path.Join("/usr", "share", "cgrates", "conf", "samples", "multifiles"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user