add(command): overwrite arguments for app entry with provided arguments
All checks were successful
Go Project Action / Spell-check and test go project (push) Successful in 32s
Release Go Application / Release go project (release) Successful in 30s

This commit is contained in:
2024-10-06 14:28:38 +02:00
parent 293932534d
commit 283decf747

21
main.go
View File

@@ -2,6 +2,7 @@ package main
import ( import (
"fmt" "fmt"
"os"
"github.com/spf13/viper" "github.com/spf13/viper"
"yves-biener.de/wish-serve/internal/serve" "yves-biener.de/wish-serve/internal/serve"
@@ -30,9 +31,29 @@ func loadConfig() {
} }
} }
// Overwrite (default) configuration value for the application to serve with
// given command line arguments.
//
// NOTE: This will also overwrite the configuration for the `app` entry from the
// configuration file.
func overwriteServeCommand() {
if len(os.Args) >= 2 {
name := os.Args[1]
viper.Set("app.name", name)
if len(os.Args) >= 3 {
args := os.Args[2:]
viper.Set("app.args", args)
} else {
// no arguments provided -> clear app arguments
viper.Set("app.args", []string{})
}
}
}
func main() { func main() {
createDefaultConfig() createDefaultConfig()
loadConfig() loadConfig()
overwriteServeCommand()
serve.Serve( serve.Serve(
viper.GetString("host"), viper.GetString("host"),