package configutils import ( "encoding/json" "log" "os" ) var ( // Conf stores configuration for global access Conf *Configuration ) // Configuration defines the configuration structure type Configuration struct { DBHost string DBUser string DBPass string DBName string CryptoKey string ClientID string ClientSecret string CryptoStrength int AuthURL string // TODO dynamic fields, map string string } // ReadConfig reads the config file and returns a Configuration object func ReadConfig(filename string) Configuration { file, err := os.Open(filename) if err != nil { log.Println("Failed reading configuration:", err) } decoder := json.NewDecoder(file) configuration := Configuration{} err = decoder.Decode(&configuration) if err != nil { log.Println("Failed parsing configuration:", err) } //log.Printf("%#v", configuration) // DEBUG return configuration }