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