46 lines
903 B
Go
46 lines
903 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/kjannette/go_http_server/internal/config"
|
|
infrasignal "github.com/kjannette/go_http_server/internal/infrastructure/os"
|
|
_ "github.com/kjannette/go_http_server/pkg/logger"
|
|
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
// Globals that are set at build time.
|
|
var (
|
|
appName = "go-http-server"
|
|
appVersion = "dev"
|
|
)
|
|
|
|
func main() {
|
|
defer func() { _ = zap.L().Sync() }()
|
|
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
defer cancel()
|
|
|
|
logger := zap.L().With(
|
|
zap.String("app_name", appName),
|
|
zap.String("app_version", appVersion),
|
|
)
|
|
|
|
cfg, err := config.NewConfig()
|
|
if err != nil {
|
|
logger.Error("error creating config", zap.Error(err))
|
|
return
|
|
}
|
|
|
|
logger.Info("starting app")
|
|
infrasignal.SignalListener(logger, cancel)
|
|
|
|
if err = run(ctx, cfg); err != nil {
|
|
logger.Error("command failed", zap.Error(err))
|
|
return
|
|
}
|
|
|
|
logger.Info("command completed")
|
|
}
|