package config import ( "os" "strings" "velvettear/go-scan/util/environment" ) // exported functions func New() Config { config := Config{ ServerConfig: serverConfig{ Address: environment.New("GO_SCAN_ADDRESS", "0.0.0.0").Value(), Port: environment.New("GO_SCAN_PORT", "9000").Value(), }, ScannerConfig: scannerConfig{ Scanner: environment.New("GO_SCAN_SCANNER", "").Value(), OutputDirectory: environment.New("GO_SCAN_OUTPUTDIRECTORY", os.TempDir()).Value(), Arguments: environment.New("GO_SCAN_ARGUMENTS", "").Value(), }, } if !strings.HasSuffix(config.ScannerConfig.OutputDirectory, "/") { config.ScannerConfig.OutputDirectory = config.ScannerConfig.OutputDirectory + "/" } return config } // structs type Config struct { ServerConfig serverConfig ScannerConfig scannerConfig } type serverConfig struct { Port string Address string } type scannerConfig struct { Scanner string OutputDirectory string Arguments string }