dndex/config/config.go

47 lines
1.0 KiB
Go

package config
import (
"io/ioutil"
"local/args"
"os"
)
type Config struct {
Port int
DBURI string
Database string
DriverType string
FilePrefix string
FileRoot string
}
func New() Config {
as := args.NewArgSet()
f, err := ioutil.TempFile(os.TempDir(), "bolt.db.*")
if err != nil {
panic(err)
}
f.Close()
as.Append(args.INT, "p", "port to listen on", 18114)
as.Append(args.STRING, "dburi", "database uri", f.Name())
as.Append(args.STRING, "fileprefix", "path prefix for file service", "/__files__")
as.Append(args.STRING, "fileroot", "path to file hosting root", "/tmp/")
as.Append(args.STRING, "database", "database name to use", "db")
as.Append(args.STRING, "drivertype", "database driver to use", "boltdb")
if err := as.Parse(); err != nil {
panic(err)
}
return Config{
Port: as.GetInt("p"),
DBURI: as.GetString("dburi"),
FilePrefix: as.GetString("fileprefix"),
FileRoot: as.GetString("fileroot"),
Database: as.GetString("database"),
DriverType: as.GetString("drivertype"),
}
}