feat: clear NewHTTPServer args

This commit is contained in:
chris
2025-08-28 07:43:50 +08:00
parent 8a641c43e3
commit 4171bd66cc
4 changed files with 14 additions and 15 deletions

View File

@@ -37,10 +37,11 @@ func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), err
userHandler := handler.NewUserHandler(handlerHandler, userService)
routerDeps := router.RouterDeps{
Logger: logger,
Config: viperViper,
JWT: jwtJWT,
UserHandler: userHandler,
}
httpServer := server.NewHTTPServer(logger, viperViper, routerDeps)
httpServer := server.NewHTTPServer(routerDeps)
jobJob := job.NewJob(transaction, logger, sidSid)
userJob := job.NewUserJob(jobJob, userRepository)
jobServer := server.NewJobServer(logger, userJob)

View File

@@ -4,10 +4,12 @@ import (
"github.com/go-nunu/nunu-layout-advanced/internal/handler"
"github.com/go-nunu/nunu-layout-advanced/pkg/jwt"
"github.com/go-nunu/nunu-layout-advanced/pkg/log"
"github.com/spf13/viper"
)
type RouterDeps struct {
Logger *log.Logger
Config *viper.Viper
JWT *jwt.JWT
UserHandler *handler.UserHandler
}

View File

@@ -6,8 +6,8 @@ import (
)
func InitUserRouter(
r *gin.RouterGroup,
deps RouterDeps,
r *gin.RouterGroup,
) {
// No route group has permission
noAuthRouter := r.Group("/")

View File

@@ -6,52 +6,48 @@ import (
"github.com/go-nunu/nunu-layout-advanced/docs"
"github.com/go-nunu/nunu-layout-advanced/internal/middleware"
"github.com/go-nunu/nunu-layout-advanced/internal/router"
"github.com/go-nunu/nunu-layout-advanced/pkg/log"
"github.com/go-nunu/nunu-layout-advanced/pkg/server/http"
"github.com/spf13/viper"
swaggerfiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
func NewHTTPServer(
logger *log.Logger,
conf *viper.Viper,
deps router.RouterDeps,
) *http.Server {
if conf.GetString("env") == "prod" {
if deps.Config.GetString("env") == "prod" {
gin.SetMode(gin.ReleaseMode)
}
s := http.NewServer(
gin.Default(),
logger,
http.WithServerHost(conf.GetString("http.host")),
http.WithServerPort(conf.GetInt("http.port")),
deps.Logger,
http.WithServerHost(deps.Config.GetString("http.host")),
http.WithServerPort(deps.Config.GetInt("http.port")),
)
// swagger doc
docs.SwaggerInfo.BasePath = "/v1"
s.GET("/swagger/*any", ginSwagger.WrapHandler(
swaggerfiles.Handler,
//ginSwagger.URL(fmt.Sprintf("http://localhost:%d/swagger/doc.json", conf.GetInt("app.http.port"))),
//ginSwagger.URL(fmt.Sprintf("http://localhost:%d/swagger/doc.json", deps.Config.GetInt("app.http.port"))),
ginSwagger.DefaultModelsExpandDepth(-1),
ginSwagger.PersistAuthorization(true),
))
s.Use(
middleware.CORSMiddleware(),
middleware.ResponseLogMiddleware(logger),
middleware.RequestLogMiddleware(logger),
middleware.ResponseLogMiddleware(deps.Logger),
middleware.RequestLogMiddleware(deps.Logger),
//middleware.SignMiddleware(log),
)
s.GET("/", func(ctx *gin.Context) {
logger.WithContext(ctx).Info("hello")
deps.Logger.WithContext(ctx).Info("hello")
apiV1.HandleSuccess(ctx, map[string]interface{}{
":)": "Thank you for using nunu!",
})
})
v1 := s.Group("/v1")
router.InitUserRouter(v1, deps)
router.InitUserRouter(deps, v1)
return s
}