signal-cli-http/conf/conf.go
2025-07-26 22:38:03 -07:00

37 lines
No EOL
904 B
Go

package conf
import (
"bufio"
"errors"
"os"
"strings"
)
/* Object to handle what is in a JSON config */
type Config struct {
configData map[string][]string;
}
func NewConfig(filePath string) (newConfig *Config, err error) {
// Open file
file, err := os.Open(filePath)
if err != nil {return}
defer file.Close()
// Create configuration
newConfigData := make(map[string][]string);
// Read lines into newConfigData
scanner := bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
parts := strings.SplitN(line, " ", 2);
if len(parts) != 2 {err = errors.New("Bad config file!"); return;}
newConfigData[parts[0]] = append(newConfigData[parts[0]], parts[1]);
}
// Create Config object and copy a reference to newConfigData into it
return &Config{configData: newConfigData}, nil;
}
func (config Config) GetConfigData() map[string][]string {return config.configData;}