MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / loadConfig

Function loadConfig

cmd/cql-eth-exchange/main.go:71–106  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

69}
70
71func loadConfig() (cfg *ExchangeConfig, err error) {
72 _, err = conf.LoadConfig(configFile)
73 if err != nil {
74 log.WithError(err).Error("read cql config failed")
75 return
76 }
77
78 var configBytes []byte
79 if configBytes, err = ioutil.ReadFile(configFile); err != nil {
80 log.WithError(err).Error("read config file failed")
81 return
82 }
83
84 r := &struct {
85 Exchange *ExchangeConfig `json:"Exchange,omitempty" yaml:"Exchange,omitempty"`
86 }{}
87 if err = yaml.Unmarshal(configBytes, r); err != nil {
88 log.WithError(err).Error("unmarshal config file failed")
89 return
90 }
91
92 if r.Exchange == nil {
93 err = errors.New("nil exchange config")
94 log.Error("could not read exchange config")
95 return
96 }
97
98 validate := validator.New()
99 if err = validate.Struct(*r.Exchange); err != nil {
100 log.WithError(err).Error("validate config failed")
101 return
102 }
103
104 cfg = r.Exchange
105 return
106}

Callers 1

mainFunction · 0.70

Calls 6

LoadConfigFunction · 0.92
WithErrorFunction · 0.92
ErrorFunction · 0.92
ErrorMethod · 0.80
UnmarshalMethod · 0.80
NewMethod · 0.65

Tested by

no test coverage detected