optz.
This commit is contained in:
@@ -2,7 +2,6 @@ package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/signal"
|
||||
@@ -12,90 +11,18 @@ import (
|
||||
"bsm/full/all/internal/config"
|
||||
"bsm/full/all/internal/impl"
|
||||
allserver "bsm/full/all/internal/server"
|
||||
ads "bsm/full/module/base/ads/service"
|
||||
cloud "bsm/full/module/base/cloud/service"
|
||||
cms "bsm/full/module/base/cms/service"
|
||||
feedback "bsm/full/module/base/feedback/service"
|
||||
fts "bsm/full/module/base/fts/service"
|
||||
initial "bsm/full/module/base/initial/service"
|
||||
logs "bsm/full/module/base/logs/service"
|
||||
mgt "bsm/full/module/base/mgt/service"
|
||||
passport "bsm/full/module/base/passport/service"
|
||||
sender "bsm/full/module/base/sender/service"
|
||||
address "bsm/full/module/ec/address/service"
|
||||
mall "bsm/full/module/ec/mall/service"
|
||||
market "bsm/full/module/ec/market/service"
|
||||
order "bsm/full/module/ec/order/service"
|
||||
wallet "bsm/full/module/finance/wallet/service"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/cookie"
|
||||
"google.golang.org/grpc"
|
||||
"bsm/full/all/internal/service"
|
||||
)
|
||||
|
||||
func main() {
|
||||
config.New()
|
||||
impl.NewImpl()
|
||||
|
||||
srv := allserver.New()
|
||||
srv.HTTP.Use(sessions.Sessions("mysession", cookie.NewStore([]byte(config.Spec.SecretKey+"-session"))))
|
||||
|
||||
exposeGRPC := func(name string, expose func(*grpc.Server) error) {
|
||||
if !config.Enabled(name) {
|
||||
return
|
||||
}
|
||||
if err := expose(srv.GRPC); err != nil {
|
||||
panic(fmt.Errorf("expose %s: %w", name, err))
|
||||
}
|
||||
if err := service.Expose(srv); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
exposeGRPC("ads", func(g *grpc.Server) error {
|
||||
return ads.Expose(ads.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
exposeGRPC("cloud", func(g *grpc.Server) error {
|
||||
return cloud.Expose(cloud.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
exposeGRPC("cms", func(g *grpc.Server) error {
|
||||
return cms.Expose(cms.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
exposeGRPC("feedback", func(g *grpc.Server) error {
|
||||
return feedback.Expose(feedback.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
exposeGRPC("initial", func(g *grpc.Server) error {
|
||||
return initial.Expose(initial.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
exposeGRPC("passport", func(g *grpc.Server) error {
|
||||
return passport.Expose(passport.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
exposeGRPC("sender", func(g *grpc.Server) error {
|
||||
return sender.Expose(sender.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
exposeGRPC("address", func(g *grpc.Server) error {
|
||||
return address.Expose(address.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
exposeGRPC("mall", func(g *grpc.Server) error {
|
||||
return mall.Expose(mall.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
exposeGRPC("market", func(g *grpc.Server) error {
|
||||
return market.Expose(market.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
exposeGRPC("order", func(g *grpc.Server) error {
|
||||
return order.Expose(order.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
exposeGRPC("wallet", func(g *grpc.Server) error {
|
||||
return wallet.Expose(wallet.ExposeOptions{GRPC: g, Gateway: srv.Gateway})
|
||||
})
|
||||
|
||||
exposeHTTP := func(name string, expose func() error) {
|
||||
if !config.Enabled(name) {
|
||||
return
|
||||
}
|
||||
if err := expose(); err != nil {
|
||||
panic(fmt.Errorf("expose %s: %w", name, err))
|
||||
}
|
||||
}
|
||||
exposeHTTP("fts", func() error { return fts.Expose(srv.HTTP) })
|
||||
exposeHTTP("logs", func() error { return logs.Expose(srv.HTTP) })
|
||||
exposeHTTP("mgt", func() error { return mgt.Expose(srv.HTTP) })
|
||||
|
||||
stop := make(chan os.Signal, 1)
|
||||
signal.Notify(stop, syscall.SIGINT, syscall.SIGTERM)
|
||||
go func() {
|
||||
@@ -104,6 +31,7 @@ func main() {
|
||||
defer cancel()
|
||||
_ = srv.Stop(ctx)
|
||||
}()
|
||||
|
||||
if err := srv.Start(config.Spec.Addr); err != nil && err != http.ErrServerClosed {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user