MCPcopy Create free account
hub / github.com/GoEdgeLab/EdgeNode / LoadAPIConfig

Function LoadAPIConfig

internal/configs/api_config.go:49–79  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

47}
48
49func LoadAPIConfig() (*APIConfig, error) {
50 for _, filename := range []string{ConfigFileName, oldConfigFileName} {
51 data, err := os.ReadFile(Tea.ConfigFile(filename))
52 if err != nil {
53 if os.IsNotExist(err) {
54 continue
55 }
56 return nil, err
57 }
58
59 var config = &APIConfig{}
60 err = yaml.Unmarshal(data, config)
61 if err != nil {
62 return nil, err
63 }
64
65 err = config.Init()
66 if err != nil {
67 return nil, errors.New("init error: " + err.Error())
68 }
69
70 // 自动生成新的配置文件
71 if filename == oldConfigFileName {
72 config.OldRPC.Endpoints = nil
73 _ = config.WriteFile(Tea.ConfigFile(ConfigFileName))
74 }
75
76 return config, nil
77 }
78 return nil, errors.New("no config file '" + ConfigFileName + "' found")
79}
80
81// WriteFile 保存到文件
82func (this *APIConfig) WriteFile(path string) error {

Callers 6

TestLoadAPIConfigFunction · 0.92
changeAPINodeAddrsMethod · 0.92
LoopMethod · 0.92
handleChangeAPINodeMethod · 0.92
SharedRPCFunction · 0.92
mainFunction · 0.92

Calls 3

WriteFileMethod · 0.80
InitMethod · 0.65
ErrorMethod · 0.45

Tested by 1

TestLoadAPIConfigFunction · 0.74