aboutsummaryrefslogtreecommitdiff
path: root/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'config.go')
-rw-r--r--config.go35
1 files changed, 15 insertions, 20 deletions
diff --git a/config.go b/config.go
index 0805cec..93b8423 100644
--- a/config.go
+++ b/config.go
@@ -1,5 +1,10 @@
package main
+import (
+ "encoding/json"
+ "io/ioutil"
+)
+
type Config struct {
Database Database
Storage Storage
@@ -30,24 +35,14 @@ type API struct {
Files string
}
-var config = Config{
- Database{
- Username: "audiocache",
- Password: "audiocache",
- Hostname: "localhost",
- Database: "audiocache",
- Adapter: "postgres",
- SSLMode: "disable",
- },
- Storage{
- Location: "/tmp/audiocache/",
- },
- Server{
- Listen: "127.0.0.1",
- Port: "8080",
- },
- API{
- Location: "http://localhost:8080/",
- Files: "files/",
- },
+func LoadFile(filename string) (Config, error) {
+ var config Config
+
+ file, err := ioutil.ReadFile(filename)
+ if err != nil {
+ return config, err
+ }
+
+ err = json.Unmarshal(file, &config)
+ return config, err
}