32 lines
561 B
Go
32 lines
561 B
Go
package http
|
|
|
|
import (
|
|
_ "atom/modules"
|
|
|
|
"atom/contracts"
|
|
"atom/providers/config"
|
|
"atom/providers/http"
|
|
"atom/providers/logger"
|
|
|
|
"go.uber.org/dig"
|
|
)
|
|
|
|
type Http struct {
|
|
dig.In
|
|
|
|
Logger *logger.Logger
|
|
Conf *config.Config
|
|
Service *http.Service
|
|
Routes []contracts.Route `group:"route"`
|
|
}
|
|
|
|
func Serve(http Http) error {
|
|
http.Logger.Infof("http service port %s", http.Conf.Http.Address())
|
|
for _, route := range http.Routes {
|
|
route.Register()
|
|
}
|
|
|
|
http.Logger.Infof("starting server on %s", http.Conf.Http.Address())
|
|
return http.Service.Serve()
|
|
}
|