52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
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))
|
|
}
|
|
}
|
|
}
|