package main import ( "fmt" "log/slog" "net/http" "servicea/internal/app" "servicea/internal/domains/meteo" "servicea/internal/router" "time" ) func main() { pool := app.NewPGXPool("postgres://developer:secret@localhost:5432/meteologica?sslmode=disable") mux := router.SetupRoutes() meteoRepo := meteo.NewPGXRepo(pool) meteoService := meteo.NewService(meteoRepo) meteoHandler := meteo.NewHandler(meteoService) meteo.RegisterRoutes(mux, meteoHandler) server := http.Server{ Addr: ":8080", Handler: mux, ReadTimeout: 15 * time.Second, WriteTimeout: 15 * time.Second, IdleTimeout: 60 * time.Second, ReadHeaderTimeout: 5 * time.Second, } slog.Info("server starting on :8080") if err := server.ListenAndServe(); err != nil { panic(fmt.Sprintf("server failed, error %s", err)) } }