Files
api-antrian-operasi/internal/server/server.go
renaldybrada ccf12a95b1 initiate repo
2026-01-27 11:41:51 +07:00

42 lines
693 B
Go

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
}