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

Method initMux

ipam/api.go:104–173  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

102}
103
104func (h *Handler) initMux() {
105 h.HandleFunc(capabilitiesPath, func(w http.ResponseWriter, r *http.Request) {
106 res, err := h.ipam.GetCapabilities()
107 if err != nil {
108 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
109 return
110 }
111 sdk.EncodeResponse(w, res, false)
112 })
113 h.HandleFunc(addressSpacesPath, func(w http.ResponseWriter, r *http.Request) {
114 res, err := h.ipam.GetDefaultAddressSpaces()
115 if err != nil {
116 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
117 return
118 }
119 sdk.EncodeResponse(w, res, false)
120 })
121 h.HandleFunc(requestPoolPath, func(w http.ResponseWriter, r *http.Request) {
122 req := &RequestPoolRequest{}
123 err := sdk.DecodeRequest(w, r, req)
124 if err != nil {
125 return
126 }
127 res, err := h.ipam.RequestPool(req)
128 if err != nil {
129 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
130 return
131 }
132 sdk.EncodeResponse(w, res, false)
133 })
134 h.HandleFunc(releasePoolPath, func(w http.ResponseWriter, r *http.Request) {
135 req := &ReleasePoolRequest{}
136 err := sdk.DecodeRequest(w, r, req)
137 if err != nil {
138 return
139 }
140 err = h.ipam.ReleasePool(req)
141 if err != nil {
142 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
143 return
144 }
145 sdk.EncodeResponse(w, struct{}{}, false)
146 })
147 h.HandleFunc(requestAddressPath, func(w http.ResponseWriter, r *http.Request) {
148 req := &RequestAddressRequest{}
149 err := sdk.DecodeRequest(w, r, req)
150 if err != nil {
151 return
152 }
153 res, err := h.ipam.RequestAddress(req)
154 if err != nil {
155 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
156 return
157 }
158 sdk.EncodeResponse(w, res, false)
159 })
160 h.HandleFunc(releaseAddressPath, func(w http.ResponseWriter, r *http.Request) {
161 req := &ReleaseAddressRequest{}

Callers 1

NewHandlerFunction · 0.95

Calls 8

HandleFuncMethod · 0.95
RequestPoolMethod · 0.80
ReleasePoolMethod · 0.80
RequestAddressMethod · 0.80
ReleaseAddressMethod · 0.80
NewErrorResponseFunction · 0.70
GetCapabilitiesMethod · 0.65

Tested by

no test coverage detected