Lindenii Project Forge
Commit info | |
---|---|
ID | de3c86ffac2f4457a98f5dbeea130d02f10da636 |
Author | Runxi Yu<me@runxiyu.org> |
Author date | Wed, 12 Feb 2025 03:27:01 +0800 |
Committer | Runxi Yu<me@runxiyu.org> |
Committer date | Wed, 12 Feb 2025 03:27:01 +0800 |
Actions | Get patch |
config.go: Close opened config_file
package main import ( "bufio" "context" "errors" "os" "github.com/jackc/pgx/v5/pgxpool" "go.lindenii.runxiyu.org/lindenii-common/scfg" ) var database *pgxpool.Pool var err_unsupported_database_type = errors.New("Unsupported database type") var config struct { HTTP struct { Net string `scfg:"net"` Addr string `scfg:"addr"` } `scfg:"http"` Git struct { Root string `scfg:"root"` } `scfg:"git"` DB struct { Type string `scfg:"type"` Conn string `scfg:"conn"` } `scfg:"db"` } func load_config(path string) (err error) { config_file, err := os.Open(path) if err != nil { return err }
defer config_file.Close()
decoder := scfg.NewDecoder(bufio.NewReader(config_file)) err = decoder.Decode(&config) if err != nil { return err } if config.DB.Type != "postgres" { return err_unsupported_database_type } database, err = pgxpool.New(context.Background(), config.DB.Conn) if err != nil { return err } return nil }