MCPcopy
hub / github.com/ContainerSSH/ContainerSSH / readConfigFile

Function readConfigFile

main.go:341–366  ·  view source on GitHub ↗
(
	configFile string,
	loggerFactory log.LoggerFactory,
	cfg *config.AppConfig,
)

Source from the content-addressed store, hash-verified

339}
340
341func readConfigFile(
342 configFile string,
343 loggerFactory log.LoggerFactory,
344 cfg *config.AppConfig,
345) error {
346 configLogger, err := loggerFactory.Make(
347 cfg.Log,
348 )
349 if err != nil {
350 return err
351 }
352 // File inclusion is desired here, no gosec issue.
353 configFH, err := os.Open(configFile) //nolint:gosec
354 if err != nil {
355 return err
356 }
357 format := getConfigFileFormat(configFile)
358 configLoader, err := internalConfig.NewReaderLoader(configFH, configLogger, format)
359 if err != nil {
360 return err
361 }
362 if err := configLoader.Load(context.Background(), cfg); err != nil {
363 return fmt.Errorf("failed to read configuration file %s (%w)", configFile, err)
364 }
365 return nil
366}
367
368func getConfigFileFormat(configFile string) internalConfig.Format {
369 var format internalConfig.Format

Callers 1

MainFunction · 0.70

Calls 4

getConfigFileFormatFunction · 0.85
MakeMethod · 0.65
LoadMethod · 0.65
ErrorfMethod · 0.65

Tested by

no test coverage detected