Преглед на файлове

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)
Mario Trangoni преди 7 години
родител
ревизия
dae7c11a5f
променени са 1 файла, в които са добавени 25 реда и са изтрити 6 реда
  1. 25 6
      pkg/cmd/grafana-server/server.go

+ 25 - 6
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 {