From dae7c11a5ff4ad6bfc6b0a7df6d35ac9aed4571f Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Tue, 13 Nov 2018 20:01:05 +0100 Subject: [PATCH] pkg/cmd/grafana-server/server.go: check serviceGraph.Provide() errors See, $ gometalinter --vendor --deadline 10m --disable-all --enable=errcheck ./... pkg/cmd/grafana-server/server.go:77:22:warning: error return value not checked (serviceGraph.Provide(&inject.Object{Value: bus.GetBus()})) (errcheck) pkg/cmd/grafana-server/server.go:78:22:warning: error return value not checked (serviceGraph.Provide(&inject.Object{Value: g.cfg})) (errcheck) pkg/cmd/grafana-server/server.go:79:22:warning: error return value not checked (serviceGraph.Provide(&inject.Object{Value: routing.NewRouteRegister(middleware.RequestMetrics, middleware.RequestTracing)})) (errcheck) pkg/cmd/grafana-server/server.go:80:22:warning: error return value not checked (serviceGraph.Provide(&inject.Object{Value: cache.New(5*time.Minute, 10*time.Minute)})) (errcheck) pkg/cmd/grafana-server/server.go:87:23:warning: error return value not checked (serviceGraph.Provide(&inject.Object{Value: service.Instance})) (errcheck) pkg/cmd/grafana-server/server.go:90:22:warning: error return value not checked (serviceGraph.Provide(&inject.Object{Value: g})) (errcheck) --- pkg/cmd/grafana-server/server.go | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/pkg/cmd/grafana-server/server.go b/pkg/cmd/grafana-server/server.go index 2c67a06a843..6a0c87bb0e8 100644 --- a/pkg/cmd/grafana-server/server.go +++ b/pkg/cmd/grafana-server/server.go @@ -67,6 +67,7 @@ type GrafanaServerImpl struct { } func (g *GrafanaServerImpl) Run() error { + var err error g.loadConfiguration() g.writePIDFile() @@ -74,20 +75,38 @@ func (g *GrafanaServerImpl) Run() error { social.NewOAuthService() serviceGraph := inject.Graph{} - serviceGraph.Provide(&inject.Object{Value: bus.GetBus()}) - serviceGraph.Provide(&inject.Object{Value: g.cfg}) - serviceGraph.Provide(&inject.Object{Value: routing.NewRouteRegister(middleware.RequestMetrics, middleware.RequestTracing)}) - serviceGraph.Provide(&inject.Object{Value: cache.New(5*time.Minute, 10*time.Minute)}) + err = serviceGraph.Provide(&inject.Object{Value: bus.GetBus()}) + if err != nil { + return fmt.Errorf("Failed to provide object to the graph: %v", err) + } + err = serviceGraph.Provide(&inject.Object{Value: g.cfg}) + if err != nil { + return fmt.Errorf("Failed to provide object to the graph: %v", err) + } + err = serviceGraph.Provide(&inject.Object{Value: routing.NewRouteRegister(middleware.RequestMetrics, middleware.RequestTracing)}) + if err != nil { + return fmt.Errorf("Failed to provide object to the graph: %v", err) + } + err = serviceGraph.Provide(&inject.Object{Value: cache.New(5*time.Minute, 10*time.Minute)}) + if err != nil { + return fmt.Errorf("Failed to provide object to the graph: %v", err) + } // self registered services services := registry.GetServices() // Add all services to dependency graph for _, service := range services { - serviceGraph.Provide(&inject.Object{Value: service.Instance}) + err = serviceGraph.Provide(&inject.Object{Value: service.Instance}) + if err != nil { + return fmt.Errorf("Failed to provide object to the graph: %v", err) + } } - serviceGraph.Provide(&inject.Object{Value: g}) + err = serviceGraph.Provide(&inject.Object{Value: g}) + if err != nil { + return fmt.Errorf("Failed to provide object to the graph: %v", err) + } // Inject dependencies to services if err := serviceGraph.Populate(); err != nil {