| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 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
- }
|