1234567891011121314151617181920212223242526272829303132333435 |
- package rest
- import "fmt"
- type Config struct {
- Driver string `json:"driver"`
- Filename string `json:"filename"`
- Host string `json:"host"`
- Port int `json:"port"`
- Username string `json:"username"`
- Password string `json:"password"`
- Database string `json:"database"`
- }
- func (cfg Config) ParseDSN() string {
- if cfg.Driver == "sqlite3" {
- return cfg.Filename
- } else if cfg.Driver == "mysql" {
- return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local",
- cfg.Username,
- cfg.Password,
- cfg.Host,
- cfg.Port,
- cfg.Database)
- } else if cfg.Driver == "postgres" {
- return fmt.Sprintf("host=%s port=%d user=%s dbname=%s password=%s",
- cfg.Host,
- cfg.Port,
- cfg.Username,
- cfg.Database,
- cfg.Password)
- }
- return ""
- }
|