MCPcopy Create free account
hub / github.com/V2RaySSR/RealityChecker / LoadConfig

Function LoadConfig

internal/config/config.go:14–44  ·  view source on GitHub ↗

LoadConfig 加载配置

(configPath string)

Source from the content-addressed store, hash-verified

12
13// LoadConfig 加载配置
14func LoadConfig(configPath string) (*types.Config, error) {
15 // 获取默认配置
16 config := getDefaultConfig()
17
18 // 如果提供了配置文件路径,尝试加载
19 if configPath != "" {
20 if err := loadConfigFromFile(config, configPath); err != nil {
21 return nil, fmt.Errorf("加载配置文件失败: %v", err)
22 }
23 } else {
24 // 尝试从默认位置加载配置文件
25 defaultPaths := []string{
26 "config.yaml",
27 "config.yml",
28 "./config.yaml",
29 "./config.yml",
30 }
31
32 for _, path := range defaultPaths {
33 if _, err := os.Stat(path); err == nil {
34 if err := loadConfigFromFile(config, path); err == nil {
35 break // 成功加载,跳出循环
36 }
37 }
38 }
39 }
40
41 // 验证并设置默认值
42 validateAndSetDefaults(config)
43 return config, nil
44}
45
46// loadConfigFromFile 从文件加载配置
47func loadConfigFromFile(config *types.Config, filePath string) error {

Callers 2

executeCheckMethod · 0.92
NewRootCmdFunction · 0.92

Calls 3

getDefaultConfigFunction · 0.85
loadConfigFromFileFunction · 0.85
validateAndSetDefaultsFunction · 0.85

Tested by

no test coverage detected