MCPcopy
hub / github.com/fluid-cloudnative/fluid / newHandler

Function newHandler

pkg/webhook/plugins/plugins_impl.go:103–140  ·  view source on GitHub ↗
(client client.Client, profile *PluginsProfile)

Source from the content-addressed store, hash-verified

101}
102
103func newHandler(client client.Client, profile *PluginsProfile) (handlers *Handlers, err error) {
104 handlers = &Handlers{}
105 pluginConfig := make(map[string]string, len(profile.PluginConfig))
106 for i := range profile.PluginConfig {
107 name := profile.PluginConfig[i].Name
108 if _, ok := pluginConfig[name]; ok {
109 log.Error(errors.New("repeated config for plugin, use the later"), "name", name)
110 }
111 pluginConfig[name] = profile.PluginConfig[i].Args
112 }
113
114 // new handler for serverful and serverless pod with/without dataset
115 podWithDatasetHandler, err := newHandlerForType(client, profile.Plugins.Serverful.WithDataset, pluginConfig, "podWithDatasetHandler")
116 if err != nil {
117 return nil, err
118 }
119 handlers.podWithDatasetHandler = podWithDatasetHandler
120
121 podWithoutDatasetHandler, err := newHandlerForType(client, profile.Plugins.Serverful.WithoutDataset, pluginConfig, "podWithoutDatasetHandler")
122 if err != nil {
123 return nil, err
124 }
125 handlers.podWithoutDatasetHandler = podWithoutDatasetHandler
126
127 serverlessPodWithDatasetHandler, err := newHandlerForType(client, profile.Plugins.Serverless.WithDataset, pluginConfig, "serverlessPodWithDatasetHandler")
128 if err != nil {
129 return nil, err
130 }
131 handlers.serverlessPodWithDatasetHandler = serverlessPodWithDatasetHandler
132
133 serverlessPodWithoutDatasetHandler, err := newHandlerForType(client, profile.Plugins.Serverless.WithoutDataset, pluginConfig, "serverlessPodWithoutDatasetHandler")
134 if err != nil {
135 return nil, err
136 }
137 handlers.serverlessPodWithoutDatasetHandler = serverlessPodWithoutDatasetHandler
138
139 return handlers, nil
140}
141
142func newHandlerForType(client client.Client, pluginNames []string, pluginConfig map[string]string, pluginType string) ([]api.MutatingHandler, error) {
143 var serverlessPodWithDatasetHandlerNames []string

Callers 1

RegisterMutatingHandlersFunction · 0.85

Calls 2

newHandlerForTypeFunction · 0.85
ErrorMethod · 0.45

Tested by

no test coverage detected