github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/vvm/metrics/provide.go (about) 1 /* 2 * Copyright (c) 2022-present unTill Pro, Ltd. 3 */ 4 5 package metrics 6 7 import ( 8 "context" 9 "net" 10 "net/http" 11 "time" 12 13 imetrics "github.com/voedger/voedger/pkg/metrics" 14 router2 "github.com/voedger/voedger/pkg/router" 15 ) 16 17 func ProvideMetricsService(vvmCtx context.Context, metricsServicePort MetricsServicePort, imetrics imetrics.IMetrics) MetricsService { 18 return &metricsService{ 19 Server: &http.Server{ 20 Handler: provideHandler(imetrics), 21 BaseContext: func(l net.Listener) context.Context { 22 return vvmCtx 23 }, 24 ReadHeaderTimeout: router2.DefaultRouterReadTimeout * time.Second, // avoiding potential Slowloris attack (G112 linter rule) 25 }, 26 port: int(metricsServicePort), 27 } 28 }