parent
e376766315
commit
2600b60b8b
@ -1,36 +0,0 @@ |
||||
package config |
||||
|
||||
|
||||
import ( |
||||
"log" |
||||
|
||||
"github.com/BurntSushi/toml" |
||||
) |
||||
|
||||
type config struct { |
||||
Admin string `toml:"admin"` |
||||
Views string `toml:"views"` |
||||
Layouts string `toml:"layouts"` |
||||
Port string `toml:"port"` |
||||
|
||||
Database struct { |
||||
Driver string `toml:"driver"` |
||||
Url string `toml:"url"` |
||||
} `toml:"database"` |
||||
} |
||||
|
||||
var Settings config |
||||
|
||||
func Load(path string) { |
||||
metadata, err := toml.DecodeFile(path, &Settings) |
||||
|
||||
if err != nil { |
||||
log.Fatalf("error loading config.toml: %v", err) |
||||
} |
||||
|
||||
bad_keys := metadata.Undecoded() |
||||
|
||||
if len(bad_keys) > 0 { |
||||
log.Fatalf("unknown configuration keys: %v", bad_keys); |
||||
} |
||||
} |
||||
@ -0,0 +1,48 @@ |
||||
package config |
||||
|
||||
import ( |
||||
"log" |
||||
"encoding/json" |
||||
"os" |
||||
) |
||||
|
||||
type config struct { |
||||
Server struct { |
||||
Admin string |
||||
Views string |
||||
Layouts string |
||||
Port string |
||||
} |
||||
Database struct { |
||||
Driver string |
||||
Url string |
||||
} |
||||
Redis struct { |
||||
HostPort string |
||||
Password string |
||||
DB int |
||||
} |
||||
Email struct { |
||||
Host string |
||||
Port int |
||||
XMailer string |
||||
UserAgent string |
||||
RedisQueue string |
||||
} |
||||
} |
||||
|
||||
var Settings config |
||||
|
||||
func Load(path string) { |
||||
data, err := os.ReadFile(path) |
||||
|
||||
if err != nil { |
||||
log.Fatalf("error loading %s: %v", path, err) |
||||
} |
||||
|
||||
err = json.Unmarshal(data, &Settings) |
||||
|
||||
if err != nil {
|
||||
log.Fatal("error parsing %s: %v", path, err) |
||||
} |
||||
} |
||||
@ -0,0 +1,24 @@ |
||||
{ |
||||
"Server": { |
||||
"Admin": "admin", |
||||
"Views": "./views", |
||||
"Layouts": "layouts/main", |
||||
"Port": ":7001" |
||||
}, |
||||
"Database": { |
||||
"Driver": "sqlite3", |
||||
"Url": "db.sqlite3" |
||||
}, |
||||
"Redis": { |
||||
"HostPort": "localhost:6379", |
||||
"Password": "", |
||||
"DB": 0 |
||||
}, |
||||
"Email": { |
||||
"Host": "localhost", |
||||
"Port": 1025, |
||||
"XMailer": "nunya-business", |
||||
"UserAgent": "nunya-business", |
||||
"RedisQueue": "email" |
||||
} |
||||
} |
||||
@ -1,8 +0,0 @@ |
||||
admin = "admin" |
||||
views = "./views" |
||||
layouts = "layouts/main" |
||||
port = ":7001" |
||||
|
||||
[database] |
||||
driver = "sqlite3" |
||||
url = "db.sqlite3" |
||||
Loading…
Reference in new issue