35 lines
547 B
Go
35 lines
547 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"strconv"
|
|
)
|
|
|
|
type Config struct {
|
|
DbPath string
|
|
Port int
|
|
}
|
|
|
|
func New() *Config {
|
|
return &Config{
|
|
DbPath: getEnv("DB_PATH", "/data/database.sqlite"),
|
|
Port: getEnvAsInt("PORT", 8080),
|
|
}
|
|
}
|
|
|
|
func getEnv(key string, defaultVal string) string {
|
|
if value, exists := os.LookupEnv(key); exists {
|
|
return value
|
|
}
|
|
return defaultVal
|
|
}
|
|
|
|
func getEnvAsInt(name string, defaultVal int) int {
|
|
valueStr := getEnv(name, "")
|
|
if value, err := strconv.Atoi(valueStr); err == nil {
|
|
return value
|
|
}
|
|
|
|
return defaultVal
|
|
}
|