26 lines
604 B
Go
26 lines
604 B
Go
package main
|
|
|
|
import (
|
|
"log/slog"
|
|
)
|
|
|
|
// main 负责初始化依赖并启动 HTTP 服务。
|
|
func main() {
|
|
db, err := NewDB(dbPath)
|
|
if err != nil {
|
|
slog.Error("failed to open database", slog.String("error", err.Error()))
|
|
return
|
|
}
|
|
defer func() {
|
|
if err := db.Close(); err != nil {
|
|
slog.Error("failed to close database", slog.String("error", err.Error()))
|
|
}
|
|
}()
|
|
|
|
server := newServer(db, newHTTPClient())
|
|
slog.Info("server started", slog.String("addr", publicListenAddr))
|
|
if err := server.Run(listenAddr); err != nil {
|
|
slog.Error("server failed", slog.String("error", err.Error()))
|
|
}
|
|
}
|