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}