blob: cf99f4ff4fa7f1682de0971353c6daed8a722cf9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package main
import (
"log"
"net/http"
"github.com/xlgmokha/x/pkg/env"
"github.com/xlgmokha/x/pkg/ioc"
"gitlab.com/mokhax/sparkled/pkg/db"
"gitlab.com/mokhax/sparkled/pkg/web"
)
func init() {
ioc.RegisterSingleton[db.Repository](ioc.Default, func() db.Repository {
return db.NewRepository()
})
ioc.RegisterSingleton[*web.Server](ioc.Default, func() *web.Server {
return web.New(ioc.MustResolve[db.Repository](ioc.Default))
})
}
func main() {
bindAddr := env.Fetch("BIND_ADDR", ":http")
log.Printf("Listening on %v\n", bindAddr)
log.Fatal(http.ListenAndServe(
bindAddr,
ioc.MustResolve[*web.Server](ioc.Default),
))
}
|