MCPcopy Create free account
hub / github.com/docker/go-plugins-helpers / initMux

Method initMux

network/api.go:221–403  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

219}
220
221func (h *Handler) initMux() {
222 h.HandleFunc(capabilitiesPath, func(w http.ResponseWriter, r *http.Request) {
223 res, err := h.driver.GetCapabilities()
224 if err != nil {
225 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
226 return
227 }
228 if res == nil {
229 sdk.EncodeResponse(w, NewErrorResponse("Network driver must implement GetCapabilities"), true)
230 return
231 }
232 sdk.EncodeResponse(w, res, false)
233 })
234 h.HandleFunc(createNetworkPath, func(w http.ResponseWriter, r *http.Request) {
235 req := &CreateNetworkRequest{}
236 err := sdk.DecodeRequest(w, r, req)
237 if err != nil {
238 return
239 }
240 err = h.driver.CreateNetwork(req)
241 if err != nil {
242 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
243 return
244 }
245 sdk.EncodeResponse(w, struct{}{}, false)
246 })
247 h.HandleFunc(allocateNetworkPath, func(w http.ResponseWriter, r *http.Request) {
248 req := &AllocateNetworkRequest{}
249 err := sdk.DecodeRequest(w, r, req)
250 if err != nil {
251 return
252 }
253 res, err := h.driver.AllocateNetwork(req)
254 if err != nil {
255 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
256 return
257 }
258 sdk.EncodeResponse(w, res, false)
259 })
260 h.HandleFunc(deleteNetworkPath, func(w http.ResponseWriter, r *http.Request) {
261 req := &DeleteNetworkRequest{}
262 err := sdk.DecodeRequest(w, r, req)
263 if err != nil {
264 return
265 }
266 err = h.driver.DeleteNetwork(req)
267 if err != nil {
268 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
269 return
270 }
271 sdk.EncodeResponse(w, struct{}{}, false)
272 })
273 h.HandleFunc(freeNetworkPath, func(w http.ResponseWriter, r *http.Request) {
274 req := &FreeNetworkRequest{}
275 err := sdk.DecodeRequest(w, r, req)
276 if err != nil {
277 return
278 }

Callers 1

NewHandlerFunction · 0.95

Calls 15

HandleFuncMethod · 0.95
AllocateNetworkMethod · 0.80
FreeNetworkMethod · 0.80
EndpointInfoMethod · 0.80
DiscoverNewMethod · 0.80
DiscoverDeleteMethod · 0.80
NewErrorResponseFunction · 0.70
GetCapabilitiesMethod · 0.65
CreateNetworkMethod · 0.65
DeleteNetworkMethod · 0.65
CreateEndpointMethod · 0.65
DeleteEndpointMethod · 0.65

Tested by

no test coverage detected