arnaucube
arnaucube/go-dhtPublic Self-hosted repository
go-dht/config/config.go
config/config.goRaw
 1package config
 2
 3import (
 4	"github.com/spf13/viper"
 5	"github.com/urfave/cli"
 6)
 7
 8type Config struct {
 9	ID   string
10	Port string
11}
12
13var C Config
14
15func MustRead(c *cli.Context) error {
16	viper.SetConfigType("yaml")
17	viper.SetConfigName("config")
18	viper.AddConfigPath(".")
19
20	if c.GlobalString("config") != "" {
21		viper.SetConfigFile(c.GlobalString("config"))
22	}
23
24	if err := viper.ReadInConfig(); err != nil {
25		return err
26	}
27	if err := viper.Unmarshal(&C); err != nil {
28		return err
29	}
30	return nil
31}