Files
go_http_server/cmd/app/service.go
KS Jannette 4b39726647 first commit
2026-05-18 21:20:44 -04:00

30 lines
700 B
Go

package main
import (
"context"
"github.com/kjannette/go-http-server/cmd/app/handler/httpjson"
"github.com/kjannnette/go-http-server/internal/config"
"github.com/kjannette/go-http-server/pkg/logger"
"go.uber.org/zap"
"golang.org/x/sync/errgroup"
)
func run(ctx context.Context, cfg *config.Config) error {
lg := zap.L().With(zap.String("app_name", appName), zap.String("app_version", appVersion))
eg, ctx := errgroup.WithContext(ctx)
app, h := httpjson.New(lg)
eg.Go(func(l logger.Logger) func() error {
return func() error {
l.Info("starting server")
defer l.Info("terminated server")
return h.RunServer(ctx, cfg, app)
}
}(lg.Named("run_server")))
return eg.Wait()
}