summaryrefslogtreecommitdiffstats
path: root/bridge/config/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'bridge/config/config.go')
-rw-r--r--bridge/config/config.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/bridge/config/config.go b/bridge/config/config.go
index a89f9aa7..42a87f1c 100644
--- a/bridge/config/config.go
+++ b/bridge/config/config.go
@@ -1,6 +1,7 @@
package config
import (
+ "bytes"
log "github.com/sirupsen/logrus"
"github.com/spf13/viper"
"os"
@@ -192,6 +193,23 @@ func NewConfig(cfgfile string) *Config {
return mycfg
}
+func NewConfigFromString(input []byte) *Config {
+ var cfg ConfigValues
+ viper.SetConfigType("toml")
+ err := viper.ReadConfig(bytes.NewBuffer(input))
+ if err != nil {
+ log.Fatal(err)
+ }
+ err = viper.Unmarshal(&cfg)
+ if err != nil {
+ log.Fatal(err)
+ }
+ mycfg := new(Config)
+ mycfg.v = viper.GetViper()
+ mycfg.ConfigValues = &cfg
+ return mycfg
+}
+
func (c *Config) GetBool(key string) bool {
c.RLock()
defer c.RUnlock()