package main import ( "git.intra.yksa.space/gsn/gsn-proxy/internal/repository" "git.intra.yksa.space/gsn/gsn-proxy/internal/service" "git.intra.yksa.space/gsn/gsn-proxy/internal/transport/rest" "git.intra.yksa.space/gsn/gsn-proxy/internal/transport/rest/handler" "go.uber.org/zap" ) const ( servicePrefix = "GSN" ) func main() { lg, err := zap.NewProduction() if err != nil { panic(err) } repoConfig, err := repository.NewConfig(servicePrefix) if err != nil { lg.Fatal("failed to init repo config", zap.Error(err)) } repo, err := repository.New(repoConfig) if err != nil { lg.Fatal("failed to init repo", zap.Error(err)) } svc := service.New(repo) handler := handler.New(svc) restConfig, err := rest.NewConfig(servicePrefix) if err != nil { lg.Fatal("failed to init transport config", zap.Error(err)) } transport, err := rest.New(lg, handler, restConfig) if err != nil { lg.Fatal("failed to init transport", zap.Error(err)) } for { transport.Run() if r := recover(); r != nil { lg.Warn("panic occured", zap.Any("recover", r)) } } }