36 lines
834 B
Go
36 lines
834 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
|
|
"moku-backend/internal/bootstrap"
|
|
"moku-backend/internal/httpx"
|
|
"moku-backend/internal/process"
|
|
)
|
|
|
|
func main() {
|
|
app, err := bootstrap.New("api")
|
|
if err != nil {
|
|
log.Fatalf("bootstrap api service: %v", err)
|
|
}
|
|
defer func() {
|
|
if closeErr := app.Close(); closeErr != nil {
|
|
app.Logger.Error("close api service", "error", closeErr)
|
|
}
|
|
}()
|
|
|
|
handler := httpx.NewRouter(httpx.RouterConfig{
|
|
ServiceName: app.ServiceName,
|
|
Config: app.Config,
|
|
Logger: app.Logger,
|
|
BuildInfo: app.BuildInfo,
|
|
Database: app.Database,
|
|
Cache: app.Cache,
|
|
})
|
|
|
|
if err := process.RunHTTPServer(app.ServiceName, app.Config.Address(app.ServiceName), handler, app.Logger, app.Config.ShutdownTimeout); err != nil {
|
|
app.Logger.Error("api service stopped", "error", err)
|
|
log.Fatal(err)
|
|
}
|
|
}
|