MCPcopy Create free account
hub / github.com/zalando/skipper / loadDataClientPlugins

Method loadDataClientPlugins

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

Source from the content-addressed store, hash-verified

302}
303
304func (o *Options) loadDataClientPlugins(found map[string]string, done map[string][]string) error {
305 for _, pred := range o.DataClientPlugins {
306 name := pred[0]
307 path, ok := found[name]
308 if !ok {
309 return fmt.Errorf("data client plugin %s not found in plugin dirs", name)
310 }
311 spec, err := loadDataClientPlugin(path, pred[1:])
312 if err != nil {
313 return fmt.Errorf("failed to load plugin %s: %s", path, err)
314 }
315 o.CustomDataClients = append(o.CustomDataClients, spec)
316 log.Printf("loaded plugin %s from %s", name, path)
317 markPluginLoaded(done, name, "InitDataClient")
318 }
319 return nil
320}
321
322func loadDataClientPlugin(path string, args []string) (routing.DataClient, error) {
323 mod, err := plugin.Open(path)

Callers 1

findAndLoadPluginsMethod · 0.95

Calls 3

loadDataClientPluginFunction · 0.85
markPluginLoadedFunction · 0.85
ErrorfMethod · 0.65

Tested by

no test coverage detected