|
@@ -33,7 +33,8 @@ func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), err
|
|
db := repository.NewDB(viperViper, logger)
|
|
db := repository.NewDB(viperViper, logger)
|
|
client := repository.NewMongoClient(viperViper)
|
|
client := repository.NewMongoClient(viperViper)
|
|
database := repository.NewMongoDB(client, viperViper)
|
|
database := repository.NewMongoDB(client, viperViper)
|
|
- repositoryRepository := repository.NewRepository(logger, db, client, database)
|
|
|
|
|
|
+ rabbitMQ, cleanup := repository.NewRabbitMQ(viperViper, logger)
|
|
|
|
+ repositoryRepository := repository.NewRepository(logger, db, client, database, rabbitMQ)
|
|
transaction := repository.NewTransaction(repositoryRepository)
|
|
transaction := repository.NewTransaction(repositoryRepository)
|
|
sidSid := sid.NewSid()
|
|
sidSid := sid.NewSid()
|
|
serviceService := service.NewService(transaction, logger, sidSid, jwtJWT)
|
|
serviceService := service.NewService(transaction, logger, sidSid, jwtJWT)
|
|
@@ -63,7 +64,8 @@ func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), err
|
|
tcpforwardingRepository := repository.NewTcpforwardingRepository(repositoryRepository)
|
|
tcpforwardingRepository := repository.NewTcpforwardingRepository(repositoryRepository)
|
|
udpForWardingRepository := repository.NewUdpForWardingRepository(repositoryRepository)
|
|
udpForWardingRepository := repository.NewUdpForWardingRepository(repositoryRepository)
|
|
wafFormatterService := service.NewWafFormatterService(serviceService, globalLimitRepository, hostRepository, requiredService, parserService, tcpforwardingRepository, udpForWardingRepository, webForwardingRepository, hostService)
|
|
wafFormatterService := service.NewWafFormatterService(serviceService, globalLimitRepository, hostRepository, requiredService, parserService, tcpforwardingRepository, udpForWardingRepository, webForwardingRepository, hostService)
|
|
- webForwardingService := service.NewWebForwardingService(serviceService, requiredService, webForwardingRepository, crawlerService, parserService, wafFormatterService)
|
|
|
|
|
|
+ aoDunService := service.NewAoDunService(serviceService, viperViper)
|
|
|
|
+ webForwardingService := service.NewWebForwardingService(serviceService, requiredService, webForwardingRepository, crawlerService, parserService, wafFormatterService, aoDunService, rabbitMQ)
|
|
webForwardingHandler := handler.NewWebForwardingHandler(handlerHandler, webForwardingService)
|
|
webForwardingHandler := handler.NewWebForwardingHandler(handlerHandler, webForwardingService)
|
|
webLimitRepository := repository.NewWebLimitRepository(repositoryRepository)
|
|
webLimitRepository := repository.NewWebLimitRepository(repositoryRepository)
|
|
webLimitService := service.NewWebLimitService(serviceService, webLimitRepository, requiredService, parserService, crawlerService, hostService)
|
|
webLimitService := service.NewWebLimitService(serviceService, webLimitRepository, requiredService, parserService, crawlerService, hostService)
|
|
@@ -83,23 +85,25 @@ func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), err
|
|
globalLimitService := service.NewGlobalLimitService(serviceService, globalLimitRepository, duedateService, crawlerService, viperViper, requiredService, parserService, hostService, tcpLimitService, udpLimitService, webLimitService, gatewayGroupService, hostRepository, gatewayGroupRepository)
|
|
globalLimitService := service.NewGlobalLimitService(serviceService, globalLimitRepository, duedateService, crawlerService, viperViper, requiredService, parserService, hostService, tcpLimitService, udpLimitService, webLimitService, gatewayGroupService, hostRepository, gatewayGroupRepository)
|
|
globalLimitHandler := handler.NewGlobalLimitHandler(handlerHandler, globalLimitService)
|
|
globalLimitHandler := handler.NewGlobalLimitHandler(handlerHandler, globalLimitService)
|
|
httpServer := server.NewHTTPServer(logger, viperViper, jwtJWT, limiterLimiter, handlerFunc, userHandler, gameShieldHandler, gameShieldBackendHandler, webForwardingHandler, webLimitHandler, tcpforwardingHandler, udpForWardingHandler, tcpLimitHandler, udpLimitHandler, globalLimitHandler)
|
|
httpServer := server.NewHTTPServer(logger, viperViper, jwtJWT, limiterLimiter, handlerFunc, userHandler, gameShieldHandler, gameShieldBackendHandler, webForwardingHandler, webLimitHandler, tcpforwardingHandler, udpForWardingHandler, tcpLimitHandler, udpLimitHandler, globalLimitHandler)
|
|
- jobJob := job.NewJob(transaction, logger, sidSid)
|
|
|
|
|
|
+ jobJob := job.NewJob(transaction, logger, sidSid, rabbitMQ)
|
|
userJob := job.NewUserJob(jobJob, userRepository)
|
|
userJob := job.NewUserJob(jobJob, userRepository)
|
|
- jobServer := server.NewJobServer(logger, userJob)
|
|
|
|
|
|
+ whitelistJob := job.NewWhitelistJob(jobJob, aoDunService)
|
|
|
|
+ jobServer := server.NewJobServer(logger, userJob, whitelistJob)
|
|
appApp := newApp(httpServer, jobServer)
|
|
appApp := newApp(httpServer, jobServer)
|
|
return appApp, func() {
|
|
return appApp, func() {
|
|
|
|
+ cleanup()
|
|
}, nil
|
|
}, nil
|
|
}
|
|
}
|
|
|
|
|
|
// wire.go:
|
|
// wire.go:
|
|
|
|
|
|
-var repositorySet = wire.NewSet(repository.NewDB, repository.NewMongoClient, repository.NewMongoDB, repository.NewRepository, repository.NewTransaction, repository.NewUserRepository, repository.NewGameShieldRepository, repository.NewGameShieldPublicIpRepository, repository.NewWebForwardingRepository, repository.NewTcpforwardingRepository, repository.NewUdpForWardingRepository, repository.NewGameShieldUserIpRepository, repository.NewWebLimitRepository, repository.NewTcpLimitRepository, repository.NewUdpLimitRepository, repository.NewGameShieldBackendRepository, repository.NewGameShieldSdkIpRepository, repository.NewHostRepository, repository.NewGlobalLimitRepository, repository.NewGatewayGroupRepository, repository.NewGateWayGroupIpRepository)
|
|
|
|
|
|
+var repositorySet = wire.NewSet(repository.NewDB, repository.NewMongoClient, repository.NewMongoDB, repository.NewRabbitMQ, repository.NewRepository, repository.NewTransaction, repository.NewUserRepository, repository.NewGameShieldRepository, repository.NewGameShieldPublicIpRepository, repository.NewWebForwardingRepository, repository.NewTcpforwardingRepository, repository.NewUdpForWardingRepository, repository.NewGameShieldUserIpRepository, repository.NewWebLimitRepository, repository.NewTcpLimitRepository, repository.NewUdpLimitRepository, repository.NewGameShieldBackendRepository, repository.NewGameShieldSdkIpRepository, repository.NewHostRepository, repository.NewGlobalLimitRepository, repository.NewGatewayGroupRepository, repository.NewGateWayGroupIpRepository)
|
|
|
|
|
|
-var serviceSet = wire.NewSet(service.NewService, service.NewUserService, service.NewGameShieldService, service.NewCrawlerService, service.NewGameShieldPublicIpService, service.NewDuedateService, service.NewFormatterService, service.NewParserService, service.NewRequiredService, service.NewWebForwardingService, service.NewTcpforwardingService, service.NewUdpForWardingService, service.NewGameShieldUserIpService, service.NewWebLimitService, service.NewTcpLimitService, service.NewUdpLimitService, service.NewGameShieldBackendService, service.NewGameShieldSdkIpService, service.NewHostService, service.NewGlobalLimitService, service.NewGatewayGroupService, service.NewWafFormatterService, service.NewGateWayGroupIpService)
|
|
|
|
|
|
+var serviceSet = wire.NewSet(service.NewService, service.NewAoDunService, service.NewUserService, service.NewGameShieldService, service.NewGameShieldPublicIpService, service.NewDuedateService, service.NewFormatterService, service.NewParserService, service.NewRequiredService, service.NewCrawlerService, service.NewWebForwardingService, service.NewTcpforwardingService, service.NewUdpForWardingService, service.NewGameShieldUserIpService, service.NewWebLimitService, service.NewTcpLimitService, service.NewUdpLimitService, service.NewGameShieldBackendService, service.NewGameShieldSdkIpService, service.NewHostService, service.NewGlobalLimitService, service.NewGatewayGroupService, service.NewWafFormatterService, service.NewGateWayGroupIpService)
|
|
|
|
|
|
var handlerSet = wire.NewSet(handler.NewHandler, handler.NewUserHandler, handler.NewGameShieldHandler, handler.NewGameShieldPublicIpHandler, handler.NewWebForwardingHandler, handler.NewTcpforwardingHandler, handler.NewUdpForWardingHandler, handler.NewGameShieldUserIpHandler, handler.NewWebLimitHandler, handler.NewTcpLimitHandler, handler.NewUdpLimitHandler, handler.NewGameShieldBackendHandler, handler.NewGameShieldSdkIpHandler, handler.NewHostHandler, handler.NewGlobalLimitHandler, handler.NewGatewayGroupHandler, handler.NewGateWayGroupIpHandler)
|
|
var handlerSet = wire.NewSet(handler.NewHandler, handler.NewUserHandler, handler.NewGameShieldHandler, handler.NewGameShieldPublicIpHandler, handler.NewWebForwardingHandler, handler.NewTcpforwardingHandler, handler.NewUdpForWardingHandler, handler.NewGameShieldUserIpHandler, handler.NewWebLimitHandler, handler.NewTcpLimitHandler, handler.NewUdpLimitHandler, handler.NewGameShieldBackendHandler, handler.NewGameShieldSdkIpHandler, handler.NewHostHandler, handler.NewGlobalLimitHandler, handler.NewGatewayGroupHandler, handler.NewGateWayGroupIpHandler)
|
|
|
|
|
|
-var jobSet = wire.NewSet(job.NewJob, job.NewUserJob)
|
|
|
|
|
|
+var jobSet = wire.NewSet(job.NewJob, job.NewUserJob, job.NewWhitelistJob)
|
|
|
|
|
|
// 限流器依赖集
|
|
// 限流器依赖集
|
|
var limiterSet = wire.NewSet(limiter.NewLimiter, middleware.NewRateLimitMiddleware)
|
|
var limiterSet = wire.NewSet(limiter.NewLimiter, middleware.NewRateLimitMiddleware)
|