mirror of
https://github.com/eolinker/apinto
synced 2025-09-26 21:01:19 +08:00
全局插件初始化封装
This commit is contained in:
@@ -27,6 +27,15 @@ type PluginManager struct {
|
||||
plugins Plugins
|
||||
pluginObjs eosc.Untyped[string, *PluginObj]
|
||||
workers eosc.IWorkers
|
||||
|
||||
global eocontext.IChainPro
|
||||
}
|
||||
|
||||
func (p *PluginManager) Global() eocontext.IChainPro {
|
||||
if p.global == nil {
|
||||
p.global = p.createChain("global", map[string]*plugin.Config{})
|
||||
}
|
||||
return p.global
|
||||
}
|
||||
|
||||
func (p *PluginManager) Check(cfg interface{}) (profession, name, driver, desc string, err error) {
|
||||
|
@@ -38,8 +38,7 @@ func init() {
|
||||
|
||||
bean.AddInitializingBeanFunc(func() {
|
||||
log.Debug("init router manager")
|
||||
chainProxy = pluginManager.CreateRequest("global", map[string]*plugin.Config{})
|
||||
chainProxy = pluginManager.Global()
|
||||
manager.SetGlobalFilters(&chainProxy)
|
||||
|
||||
})
|
||||
}
|
||||
|
@@ -40,7 +40,7 @@ func init() {
|
||||
bean.Injection(&m)
|
||||
bean.AddInitializingBeanFunc(func() {
|
||||
log.Debug("init grpc router manager")
|
||||
chainProxy = pluginManager.CreateRequest("global", map[string]*plugin.Config{})
|
||||
chainProxy = pluginManager.Global()
|
||||
routerManager.SetGlobalFilters(&chainProxy)
|
||||
})
|
||||
|
||||
|
@@ -37,7 +37,7 @@ func init() {
|
||||
bean.Injection(&m)
|
||||
bean.AddInitializingBeanFunc(func() {
|
||||
log.Debug("init router manager")
|
||||
chainProxy = pluginManager.CreateRequest("global", map[string]*plugin.Config{})
|
||||
chainProxy = pluginManager.Global()
|
||||
routerManager.SetGlobalFilters(&chainProxy)
|
||||
|
||||
})
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"reflect"
|
||||
)
|
||||
|
||||
//Config 普通插件配置,在router、service、upstream的插件格式
|
||||
// Config 普通插件配置,在router、service、upstream的插件格式
|
||||
type Config struct {
|
||||
Disable bool `json:"disable"`
|
||||
Config interface{} `json:"config"`
|
||||
@@ -13,6 +13,7 @@ type Config struct {
|
||||
|
||||
type IPluginManager interface {
|
||||
CreateRequest(id string, conf map[string]*Config) eocontext.IChainPro
|
||||
Global() eocontext.IChainPro
|
||||
GetConfigType(name string) (reflect.Type, bool)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user