Files
2025-07-19 17:54:34 -04:00

41 lines
941 B
Go

package server
import (
"flag"
"fmt"
)
type config struct {
baseURL string
httpAddr string
dsn string
logLevel string
}
const (
version = "0.0.1"
defaultBaseURL = "https://localhost"
defaultHTTPAddr = "localhost:6300"
//defaultDSN = "mysql://gopics2:gopics2@/gopics2?parseTime=true"
defaultDSN = "sqlite://gopics.db"
)
//TODO : create load from file, load order : file -> flags
func parseCfg() (config, error) {
var cfg config
flag.StringVar(&cfg.baseURL, "base-url", defaultBaseURL, "base URL for the application")
flag.StringVar(&cfg.httpAddr, "http-address", defaultHTTPAddr, "IP:PORT to listen on for HTTP requests")
flag.StringVar(&cfg.dsn, "dsn", defaultDSN, "MySQL data source name")
showVersion := flag.Bool("version", false, "display version and exit")
flag.Parse()
if *showVersion {
fmt.Printf("version: %s\n", version)
return cfg, nil
}
cfg.logLevel = "Debug"
return cfg, nil
}