package server import ( "antrian-operasi/internal/database" "antrian-operasi/internal/routes" "fmt" "net/http" "time" "antrian-operasi/internal/config" ) var dbService database.Service type Server struct { port int db database.Service } func NewServer() *http.Server { cfg := config.LoadConfig() if dbService == nil { dbService = database.New(cfg) } NewServer := &Server{ port: cfg.Server.Port, db: dbService, } server := &http.Server{ Addr: fmt.Sprintf(":%d", NewServer.port), Handler: routes.RegisterRoutes(cfg, dbService), IdleTimeout: time.Minute, ReadTimeout: 10 * time.Second, WriteTimeout: 30 * time.Second, } return server }