|
@@ -9,11 +9,13 @@ package wire
|
|
|
import (
|
|
|
"github.com/go-nunu/nunu-layout-advanced/internal/handler"
|
|
|
"github.com/go-nunu/nunu-layout-advanced/internal/job"
|
|
|
+ "github.com/go-nunu/nunu-layout-advanced/internal/middleware"
|
|
|
"github.com/go-nunu/nunu-layout-advanced/internal/repository"
|
|
|
"github.com/go-nunu/nunu-layout-advanced/internal/server"
|
|
|
"github.com/go-nunu/nunu-layout-advanced/internal/service"
|
|
|
"github.com/go-nunu/nunu-layout-advanced/pkg/app"
|
|
|
"github.com/go-nunu/nunu-layout-advanced/pkg/jwt"
|
|
|
+ "github.com/go-nunu/nunu-layout-advanced/pkg/limiter"
|
|
|
"github.com/go-nunu/nunu-layout-advanced/pkg/log"
|
|
|
"github.com/go-nunu/nunu-layout-advanced/pkg/server/http"
|
|
|
"github.com/go-nunu/nunu-layout-advanced/pkg/sid"
|
|
@@ -25,6 +27,8 @@ import (
|
|
|
|
|
|
func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), error) {
|
|
|
jwtJWT := jwt.NewJwt(viperViper)
|
|
|
+ limiterLimiter := limiter.NewLimiter(viperViper)
|
|
|
+ handlerFunc := middleware.NewRateLimitMiddleware(limiterLimiter)
|
|
|
handlerHandler := handler.NewHandler(logger)
|
|
|
db := repository.NewDB(viperViper, logger)
|
|
|
repositoryRepository := repository.NewRepository(logger, db)
|
|
@@ -63,7 +67,7 @@ func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), err
|
|
|
udpLimitRepository := repository.NewUdpLimitRepository(repositoryRepository)
|
|
|
udpLimitService := service.NewUdpLimitService(serviceService, udpLimitRepository, requiredService, crawlerService, parserService)
|
|
|
udpLimitHandler := handler.NewUdpLimitHandler(handlerHandler, udpLimitService)
|
|
|
- httpServer := server.NewHTTPServer(logger, viperViper, jwtJWT, userHandler, gameShieldHandler, webForwardingHandler, webLimitHandler, tcpforwardingHandler, udpForWardingHandler, tcpLimitHandler, udpLimitHandler)
|
|
|
+ httpServer := server.NewHTTPServer(logger, viperViper, jwtJWT, limiterLimiter, handlerFunc, userHandler, gameShieldHandler, webForwardingHandler, webLimitHandler, tcpforwardingHandler, udpForWardingHandler, tcpLimitHandler, udpLimitHandler)
|
|
|
jobJob := job.NewJob(transaction, logger, sidSid)
|
|
|
userJob := job.NewUserJob(jobJob, userRepository)
|
|
|
jobServer := server.NewJobServer(logger, userJob)
|
|
@@ -82,6 +86,9 @@ var handlerSet = wire.NewSet(handler.NewHandler, handler.NewUserHandler, handler
|
|
|
|
|
|
var jobSet = wire.NewSet(job.NewJob, job.NewUserJob)
|
|
|
|
|
|
+// 限流器依赖集
|
|
|
+var limiterSet = wire.NewSet(limiter.NewLimiter, middleware.NewRateLimitMiddleware)
|
|
|
+
|
|
|
var serverSet = wire.NewSet(server.NewHTTPServer, server.NewJobServer)
|
|
|
|
|
|
// build App
|