33 lines
581 B
Go
33 lines
581 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"net/http"
|
|
)
|
|
|
|
func main() {
|
|
cfg := loadConfig()
|
|
logConfig(cfg)
|
|
|
|
st, err := openStore(cfg.DBPath)
|
|
if err != nil {
|
|
log.Fatalf("open store: %v", err)
|
|
}
|
|
defer func() {
|
|
if err := st.close(); err != nil {
|
|
log.Printf("store close warning: %v", err)
|
|
}
|
|
}()
|
|
|
|
handler := newApp(cfg, st).routes()
|
|
server := &http.Server{
|
|
Addr: cfg.ListenAddr,
|
|
Handler: handler,
|
|
}
|
|
|
|
log.Printf("secretapi ready addr=%s", cfg.ListenAddr)
|
|
if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed {
|
|
log.Fatalf("listen: %v", err)
|
|
}
|
|
}
|