MCPcopy Create free account
hub / github.com/OpenListTeam/OpenList / InitConfig

Function InitConfig

internal/bootstrap/config.go:37–170  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

35}
36
37func InitConfig() {
38 pwd := PWD()
39 dataDir := flags.DataDir
40 if !filepath.IsAbs(dataDir) {
41 flags.DataDir = filepath.Join(pwd, flags.DataDir)
42 }
43 // Determine config file path: use flags.ConfigPath if provided, otherwise default to <dataDir>/config.json
44 configPath := flags.ConfigPath
45 if configPath == "" {
46 configPath = filepath.Join(flags.DataDir, "config.json")
47 } else {
48 // if relative, resolve relative to working directory
49 if !filepath.IsAbs(configPath) {
50 if absPath, err := filepath.Abs(configPath); err == nil {
51 configPath = absPath
52 } else {
53 configPath = filepath.Join(pwd, configPath)
54 }
55 }
56 }
57 configPath = filepath.Clean(configPath)
58 conf.ConfigPath = configPath
59 log.Infof("reading config file: %s", configPath)
60 if !utils.Exists(configPath) {
61 log.Infof("config file not exists, creating default config file")
62 _, err := utils.CreateNestedFile(configPath)
63 if err != nil {
64 log.Fatalf("failed to create config file: %+v", err)
65 }
66 conf.Conf = conf.DefaultConfig(dataDir)
67 LastLaunchedVersion = conf.Version
68 conf.Conf.LastLaunchedVersion = conf.Version
69 if !utils.WriteJsonToFile(configPath, conf.Conf) {
70 log.Fatalf("failed to create default config file")
71 }
72 } else {
73 configBytes, err := os.ReadFile(configPath)
74 if err != nil {
75 log.Fatalf("reading config file error: %+v", err)
76 }
77 conf.Conf = conf.DefaultConfig(dataDir)
78 err = utils.Json.Unmarshal(configBytes, conf.Conf)
79 if err != nil {
80 log.Fatalf("load config error: %+v", err)
81 }
82 LastLaunchedVersion = conf.Conf.LastLaunchedVersion
83 if strings.HasPrefix(conf.Version, "v") || LastLaunchedVersion == "" {
84 conf.Conf.LastLaunchedVersion = conf.Version
85 }
86 // update config.json struct
87 confBody, err := utils.Json.MarshalIndent(conf.Conf, "", " ")
88 if err != nil {
89 log.Fatalf("marshal config error: %+v", err)
90 }
91 err = os.WriteFile(configPath, confBody, 0o777)
92 if err != nil {
93 log.Fatalf("update config struct error: %+v", err)
94 }

Callers 2

lang.goFile · 0.92
InitFunction · 0.85

Calls 12

ExistsFunction · 0.92
CreateNestedFileFunction · 0.92
DefaultConfigFunction · 0.92
WriteJsonToFileFunction · 0.92
InitClientFunction · 0.92
PWDFunction · 0.85
confFromEnvFunction · 0.85
minFunction · 0.85
validateProxyConfigFunction · 0.85
initURLFunction · 0.85
UnmarshalMethod · 0.45
MkdirAllMethod · 0.45

Tested by

no test coverage detected