Skip to content

Commit 7e75597

Browse files
committed
fix: load plugins in a sequence
1 parent 1cd805d commit 7e75597

1 file changed

Lines changed: 26 additions & 5 deletions

File tree

main.go

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,24 +171,45 @@ func main() {
171171
// ES client instantiation
172172
// ES v7 and v6 clients
173173
util.NewClient()
174-
174+
// map of specific plugins in a sequence
175+
sequencedPlugins := map[string]string{
176+
"rules.so": "", // path
177+
"function.so": "", // path
178+
"querytranslate.so": "", // path
179+
"analytics.so": "", // path
180+
}
175181
var elasticSearchPath string
176182
elasticSearchMiddleware := make([]middleware.Middleware, 0)
177183
err := filepath.Walk(pluginDir, func(path string, info os.FileInfo, err error) error {
178184
if err != nil {
179185
return err
180186
}
181187
if !info.IsDir() && filepath.Ext(info.Name()) == ".so" && info.Name() != "elasticsearch.so" {
182-
mw, err1 := LoadPluginFromFile(router, path)
183-
if err1 != nil {
184-
return err1
188+
_, isExist := sequencedPlugins[info.Name()]
189+
if isExist {
190+
sequencedPlugins[info.Name()] = path
191+
} else {
192+
mw, err1 := LoadPluginFromFile(router, path)
193+
if err1 != nil {
194+
return err1
195+
}
196+
elasticSearchMiddleware = append(elasticSearchMiddleware, mw...)
185197
}
186-
elasticSearchMiddleware = append(elasticSearchMiddleware, mw...)
187198
} else if info.Name() == "elasticsearch.so" {
188199
elasticSearchPath = path
189200
}
190201
return nil
191202
})
203+
// load plugins in a sequence
204+
for _, path := range sequencedPlugins {
205+
if path != "" {
206+
mw, err := LoadPluginFromFile(router, path)
207+
if err != nil {
208+
log.Fatal("error loading plugins: ", err)
209+
}
210+
elasticSearchMiddleware = append(elasticSearchMiddleware, mw...)
211+
}
212+
}
192213
LoadESPluginFromFile(router, elasticSearchPath, elasticSearchMiddleware)
193214
if err != nil {
194215
log.Fatal("error loading plugins: ", err)

0 commit comments

Comments
 (0)