MCPcopy Index your code
hub / github.com/zalando/skipper / loadPredicatePlugins

Method loadPredicatePlugins

plugins.go:257–273  ·  view source on GitHub ↗
(found map[string]string, done map[string][]string)

Source from the content-addressed store, hash-verified

255}
256
257func (o *Options) loadPredicatePlugins(found map[string]string, done map[string][]string) error {
258 for _, pred := range o.PredicatePlugins {
259 name := pred[0]
260 path, ok := found[name]
261 if !ok {
262 return fmt.Errorf("predicate plugin %s not found in plugin dirs", name)
263 }
264 spec, err := loadPredicatePlugin(path, pred[1:])
265 if err != nil {
266 return fmt.Errorf("failed to load plugin %s: %s", path, err)
267 }
268 o.CustomPredicates = append(o.CustomPredicates, spec)
269 log.Printf("loaded plugin %s (%s) from %s", name, spec.Name(), path)
270 markPluginLoaded(done, name, "InitPredicate")
271 }
272 return nil
273}
274
275func loadPredicatePlugin(path string, args []string) (routing.PredicateSpec, error) {
276 mod, err := plugin.Open(path)

Callers 1

findAndLoadPluginsMethod · 0.95

Calls 4

loadPredicatePluginFunction · 0.85
markPluginLoadedFunction · 0.85
ErrorfMethod · 0.65
NameMethod · 0.65

Tested by

no test coverage detected