mirror of
https://github.com/safing/portbase
synced 2025-09-01 18:19:57 +00:00
Update listen api address config override handling
This commit is contained in:
parent
05bead1890
commit
79a4219487
3 changed files with 16 additions and 16 deletions
|
@ -17,41 +17,41 @@ func init() {
|
|||
flag.StringVar(&listenAddressFlag, "api-address", "", "override api listen address")
|
||||
}
|
||||
|
||||
func checkFlags() error {
|
||||
func logFlagOverrides() {
|
||||
if listenAddressFlag != "" {
|
||||
log.Warning("api: api/listenAddress config is being overridden by -api-address flag")
|
||||
log.Warning("api: api/listenAddress default config is being overridden by -api-address flag")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetAPIAddress() string {
|
||||
func getDefaultListenAddress() string {
|
||||
// check if overridden
|
||||
if listenAddressFlag != "" {
|
||||
return listenAddressFlag
|
||||
}
|
||||
return listenAddressConfig()
|
||||
// return internal default
|
||||
return defaultListenAddress
|
||||
}
|
||||
|
||||
func registerConfig() error {
|
||||
err := config.Register(&config.Option{
|
||||
Name: "API Address",
|
||||
Key: "api/listenAddress",
|
||||
Description: "Define on what IP and port the API should listen on. Be careful, changing this may become a security issue.",
|
||||
ExpertiseLevel: config.ExpertiseLevelExpert,
|
||||
Description: "Define on which IP and port the API should listen on.",
|
||||
ExpertiseLevel: config.ExpertiseLevelDeveloper,
|
||||
OptType: config.OptTypeString,
|
||||
DefaultValue: defaultListenAddress,
|
||||
DefaultValue: getDefaultListenAddress(),
|
||||
ValidationRegex: "^([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}:[0-9]{1,5}|\\[[:0-9A-Fa-f]+\\]:[0-9]{1,5})$",
|
||||
RequiresRestart: true,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
listenAddressConfig = config.GetAsString("api/listenAddress", defaultListenAddress)
|
||||
listenAddressConfig = config.GetAsString("api/listenAddress", getDefaultListenAddress())
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetDefaultAPIListenAddress sets the default listen address for the API.
|
||||
func SetDefaultAPIListenAddress(address string) {
|
||||
if defaultListenAddress == "" {
|
||||
defaultListenAddress = address
|
||||
}
|
||||
defaultListenAddress = address
|
||||
}
|
||||
|
|
|
@ -17,14 +17,14 @@ func init() {
|
|||
}
|
||||
|
||||
func prep() error {
|
||||
err := checkFlags()
|
||||
if err != nil {
|
||||
return err
|
||||
if getDefaultListenAddress() == "" {
|
||||
return errors.New("no listen address for api available")
|
||||
}
|
||||
return registerConfig()
|
||||
}
|
||||
|
||||
func start() error {
|
||||
logFlagOverrides()
|
||||
go Serve()
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ func RegisterMiddleware(middleware Middleware) {
|
|||
// Serve starts serving the API endpoint.
|
||||
func Serve() {
|
||||
// configure server
|
||||
server.Addr = GetAPIAddress()
|
||||
server.Addr = listenAddressConfig()
|
||||
server.Handler = middlewareHandler
|
||||
|
||||
// start serving
|
||||
|
|
Loading…
Add table
Reference in a new issue