add support for toml configuration file

This commit is contained in:
Thomas Preisner 2018-09-22 01:38:40 +02:00
parent 2e90d32ce2
commit fb43d8da3a
2 changed files with 22 additions and 10 deletions

20
data.go
View file

@ -6,14 +6,13 @@ import (
_ "github.com/lib/pq"
)
//TODO: move into separate config file?
const (
DBHost = "127.0.0.1"
DBPort = 5432
DBUser = "username"
DBPass = "password"
DBName = "database"
)
type databaseConfig struct {
Host string
Port int
User string
Pass string
Name string
}
type userData struct {
nameserver string
@ -23,9 +22,10 @@ type userData struct {
}
func prepareDatabase() (*sql.DB, error) {
dbconf := config.Database
psqlInfo := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s " +
"sslmode=disable", DBHost, DBPort, DBUser, DBPass,
DBName)
"sslmode=disable", dbconf.Host, dbconf.Port,
dbconf.User, dbconf.Pass, dbconf.Name)
db, err := sql.Open("postgres", psqlInfo)
if err != nil {
return nil, err

12
main.go
View file

@ -2,9 +2,21 @@ package main
import (
"net/http"
"github.com/BurntSushi/toml"
)
type tomlConfig struct {
Database databaseConfig
}
var config tomlConfig
func main() {
_, err := toml.DecodeFile("config.toml", &config)
if err != nil {
panic(err)
}
db, err := prepareDatabase()
if err != nil {
panic(err)