31 lines
419 B
Go
31 lines
419 B
Go
package app
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
func parsePort(raw string) int {
|
|
p := strings.TrimSpace(raw)
|
|
if p == "" {
|
|
return 0
|
|
}
|
|
n, err := strconv.Atoi(p)
|
|
if err != nil || n <= 0 || n > 65535 {
|
|
return 0
|
|
}
|
|
return n
|
|
}
|
|
|
|
func asString(v any) string {
|
|
switch vv := v.(type) {
|
|
case string:
|
|
return strings.TrimSpace(vv)
|
|
case nil:
|
|
return ""
|
|
default:
|
|
return strings.TrimSpace(fmt.Sprint(vv))
|
|
}
|
|
}
|