update for go1.18

This commit is contained in:
ginuerzh
2022-02-25 13:08:05 +08:00
parent 9db7137cd3
commit 0aee4f0ebd
13 changed files with 262 additions and 78 deletions
+25 -3
View File
@@ -10,6 +10,7 @@ import (
"github.com/go-gost/gost/pkg/config"
"github.com/go-gost/gost/pkg/logger"
"github.com/go-gost/gost/pkg/metrics"
)
var (
@@ -21,6 +22,7 @@ var (
nodes stringList
debug bool
apiAddr string
metricsAddr string
)
func init() {
@@ -32,7 +34,8 @@ func init() {
flag.BoolVar(&printVersion, "V", false, "print version")
flag.StringVar(&outputFormat, "O", "", "output format, one of yaml|json format")
flag.BoolVar(&debug, "D", false, "debug mode")
flag.StringVar(&apiAddr, "api", "", "api server addr")
flag.StringVar(&apiAddr, "api", "", "api service address")
flag.StringVar(&metricsAddr, "metrics", "", "metrics service address")
flag.Parse()
if printVersion {
@@ -58,6 +61,12 @@ func main() {
Addr: apiAddr,
}
}
if metricsAddr != "" {
cfg.Metrics = &config.MetricsConfig{
Addr: metricsAddr,
Path: metrics.DefaultPath,
}
}
} else {
if cfgFile != "" {
err = cfg.ReadFile(cfgFile)
@@ -92,14 +101,27 @@ func main() {
}
if cfg.API != nil {
s, err := buildAPIServer(cfg.API)
s, err := buildAPIService(cfg.API)
if err != nil {
log.Fatal(err)
}
defer s.Close()
go func() {
log.Info("api server on ", s.Addr())
log.Info("api service on ", s.Addr())
log.Fatal(s.Serve())
}()
}
if cfg.Metrics != nil {
s, err := buildMetricsService(cfg.Metrics)
if err != nil {
log.Fatal(err)
}
defer s.Close()
go func() {
log.Info("metrics service on ", s.Addr())
log.Fatal(s.Serve())
}()
}