add reload and plugin support for hop

This commit is contained in:
ginuerzh
2023-09-28 21:04:15 +08:00
parent ddc3c9392e
commit ea585fc25d
88 changed files with 2208 additions and 1538 deletions

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/admission"
"github.com/go-gost/x/registry"
)
@ -40,7 +40,7 @@ func createAdmission(ctx *gin.Context) {
return
}
v := parsing.ParseAdmission(&req.Data)
v := parser.ParseAdmission(&req.Data)
if err := registry.AdmissionRegistry().Register(req.Data.Name, v); err != nil {
writeError(ctx, ErrDup)
@ -94,7 +94,7 @@ func updateAdmission(ctx *gin.Context) {
req.Data.Name = req.Admission
v := parsing.ParseAdmission(&req.Data)
v := parser.ParseAdmission(&req.Data)
registry.AdmissionRegistry().Unregister(req.Admission)

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/auth"
"github.com/go-gost/x/registry"
)
@ -40,7 +40,7 @@ func createAuther(ctx *gin.Context) {
return
}
v := parsing.ParseAuther(&req.Data)
v := parser.ParseAuther(&req.Data)
if err := registry.AutherRegistry().Register(req.Data.Name, v); err != nil {
writeError(ctx, ErrDup)
return
@ -93,7 +93,7 @@ func updateAuther(ctx *gin.Context) {
req.Data.Name = req.Auther
v := parsing.ParseAuther(&req.Data)
v := parser.ParseAuther(&req.Data)
registry.AutherRegistry().Unregister(req.Auther)
if err := registry.AutherRegistry().Register(req.Auther, v); err != nil {

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/bypass"
"github.com/go-gost/x/registry"
)
@ -40,7 +40,7 @@ func createBypass(ctx *gin.Context) {
return
}
v := parsing.ParseBypass(&req.Data)
v := parser.ParseBypass(&req.Data)
if err := registry.BypassRegistry().Register(req.Data.Name, v); err != nil {
writeError(ctx, ErrDup)
@ -94,7 +94,7 @@ func updateBypass(ctx *gin.Context) {
req.Data.Name = req.Bypass
v := parsing.ParseBypass(&req.Data)
v := parser.ParseBypass(&req.Data)
registry.BypassRegistry().Unregister(req.Bypass)

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/chain"
"github.com/go-gost/x/registry"
)
@ -40,7 +40,7 @@ func createChain(ctx *gin.Context) {
return
}
v, err := parsing.ParseChain(&req.Data)
v, err := parser.ParseChain(&req.Data)
if err != nil {
writeError(ctx, ErrCreate)
return
@ -99,7 +99,7 @@ func updateChain(ctx *gin.Context) {
req.Data.Name = req.Chain
v, err := parsing.ParseChain(&req.Data)
v, err := parser.ParseChain(&req.Data)
if err != nil {
writeError(ctx, ErrCreate)
return

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/limiter"
"github.com/go-gost/x/registry"
)
@ -40,7 +40,7 @@ func createConnLimiter(ctx *gin.Context) {
return
}
v := parsing.ParseConnLimiter(&req.Data)
v := parser.ParseConnLimiter(&req.Data)
if err := registry.ConnLimiterRegistry().Register(req.Data.Name, v); err != nil {
writeError(ctx, ErrDup)
@ -94,7 +94,7 @@ func updateConnLimiter(ctx *gin.Context) {
req.Data.Name = req.Limiter
v := parsing.ParseConnLimiter(&req.Data)
v := parser.ParseConnLimiter(&req.Data)
registry.ConnLimiterRegistry().Unregister(req.Limiter)

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/hop"
"github.com/go-gost/x/registry"
)
@ -40,7 +40,7 @@ func createHop(ctx *gin.Context) {
return
}
v, err := parsing.ParseHop(&req.Data)
v, err := parser.ParseHop(&req.Data)
if err != nil {
writeError(ctx, ErrCreate)
return
@ -99,7 +99,7 @@ func updateHop(ctx *gin.Context) {
req.Data.Name = req.Hop
v, err := parsing.ParseHop(&req.Data)
v, err := parser.ParseHop(&req.Data)
if err != nil {
writeError(ctx, ErrCreate)
return

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/hosts"
"github.com/go-gost/x/registry"
)
@ -40,7 +40,7 @@ func createHosts(ctx *gin.Context) {
return
}
v := parsing.ParseHosts(&req.Data)
v := parser.ParseHostMapper(&req.Data)
if err := registry.HostsRegistry().Register(req.Data.Name, v); err != nil {
writeError(ctx, ErrDup)
@ -94,7 +94,7 @@ func updateHosts(ctx *gin.Context) {
req.Data.Name = req.Hosts
v := parsing.ParseHosts(&req.Data)
v := parser.ParseHostMapper(&req.Data)
registry.HostsRegistry().Unregister(req.Hosts)

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/ingress"
"github.com/go-gost/x/registry"
)
@ -40,7 +40,7 @@ func createIngress(ctx *gin.Context) {
return
}
v := parsing.ParseIngress(&req.Data)
v := parser.ParseIngress(&req.Data)
if err := registry.IngressRegistry().Register(req.Data.Name, v); err != nil {
writeError(ctx, ErrDup)
@ -94,7 +94,7 @@ func updateIngress(ctx *gin.Context) {
req.Data.Name = req.Ingress
v := parsing.ParseIngress(&req.Data)
v := parser.ParseIngress(&req.Data)
registry.IngressRegistry().Unregister(req.Ingress)

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/limiter"
"github.com/go-gost/x/registry"
)
@ -40,7 +40,7 @@ func createLimiter(ctx *gin.Context) {
return
}
v := parsing.ParseTrafficLimiter(&req.Data)
v := parser.ParseTrafficLimiter(&req.Data)
if err := registry.TrafficLimiterRegistry().Register(req.Data.Name, v); err != nil {
writeError(ctx, ErrDup)
@ -94,7 +94,7 @@ func updateLimiter(ctx *gin.Context) {
req.Data.Name = req.Limiter
v := parsing.ParseTrafficLimiter(&req.Data)
v := parser.ParseTrafficLimiter(&req.Data)
registry.TrafficLimiterRegistry().Unregister(req.Limiter)

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/limiter"
"github.com/go-gost/x/registry"
)
@ -40,7 +40,7 @@ func createRateLimiter(ctx *gin.Context) {
return
}
v := parsing.ParseRateLimiter(&req.Data)
v := parser.ParseRateLimiter(&req.Data)
if err := registry.RateLimiterRegistry().Register(req.Data.Name, v); err != nil {
writeError(ctx, ErrDup)
@ -94,7 +94,7 @@ func updateRateLimiter(ctx *gin.Context) {
req.Data.Name = req.Limiter
v := parsing.ParseRateLimiter(&req.Data)
v := parser.ParseRateLimiter(&req.Data)
registry.RateLimiterRegistry().Unregister(req.Limiter)

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/resolver"
"github.com/go-gost/x/registry"
)
@ -40,7 +40,7 @@ func createResolver(ctx *gin.Context) {
return
}
v, err := parsing.ParseResolver(&req.Data)
v, err := parser.ParseResolver(&req.Data)
if err != nil {
writeError(ctx, ErrCreate)
return
@ -98,7 +98,7 @@ func updateResolver(ctx *gin.Context) {
req.Data.Name = req.Resolver
v, err := parsing.ParseResolver(&req.Data)
v, err := parser.ParseResolver(&req.Data)
if err != nil {
writeError(ctx, ErrCreate)
return

View File

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-gost/x/config"
"github.com/go-gost/x/config/parsing"
parser "github.com/go-gost/x/config/parsing/service"
"github.com/go-gost/x/registry"
)
@ -45,7 +45,7 @@ func createService(ctx *gin.Context) {
return
}
svc, err := parsing.ParseService(&req.Data)
svc, err := parser.ParseService(&req.Data)
if err != nil {
writeError(ctx, ErrCreate)
return
@ -108,7 +108,7 @@ func updateService(ctx *gin.Context) {
req.Data.Name = req.Service
svc, err := parsing.ParseService(&req.Data)
svc, err := parser.ParseService(&req.Data)
if err != nil {
writeError(ctx, ErrCreate)
return