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

Method initMux

volume/api.go:130–221  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

128}
129
130func (h *Handler) initMux() {
131 h.HandleFunc(createPath, func(w http.ResponseWriter, r *http.Request) {
132 req := &CreateRequest{}
133 err := sdk.DecodeRequest(w, r, req)
134 if err != nil {
135 return
136 }
137 err = h.driver.Create(req)
138 if err != nil {
139 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
140 return
141 }
142 sdk.EncodeResponse(w, struct{}{}, false)
143 })
144 h.HandleFunc(removePath, func(w http.ResponseWriter, r *http.Request) {
145 req := &RemoveRequest{}
146 err := sdk.DecodeRequest(w, r, req)
147 if err != nil {
148 return
149 }
150 err = h.driver.Remove(req)
151 if err != nil {
152 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
153 return
154 }
155 sdk.EncodeResponse(w, struct{}{}, false)
156 })
157 h.HandleFunc(mountPath, func(w http.ResponseWriter, r *http.Request) {
158 req := &MountRequest{}
159 err := sdk.DecodeRequest(w, r, req)
160 if err != nil {
161 return
162 }
163 res, err := h.driver.Mount(req)
164 if err != nil {
165 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
166 return
167 }
168 sdk.EncodeResponse(w, res, false)
169 })
170 h.HandleFunc(hostVirtualPath, func(w http.ResponseWriter, r *http.Request) {
171 req := &PathRequest{}
172 err := sdk.DecodeRequest(w, r, req)
173 if err != nil {
174 return
175 }
176 res, err := h.driver.Path(req)
177 if err != nil {
178 sdk.EncodeResponse(w, NewErrorResponse(err.Error()), true)
179 return
180 }
181 sdk.EncodeResponse(w, res, false)
182 })
183 h.HandleFunc(getPath, func(w http.ResponseWriter, r *http.Request) {
184 req := &GetRequest{}
185 err := sdk.DecodeRequest(w, r, req)
186 if err != nil {
187 return

Callers 1

NewHandlerFunction · 0.95

Calls 10

HandleFuncMethod · 0.95
NewErrorResponseFunction · 0.70
CreateMethod · 0.65
RemoveMethod · 0.65
MountMethod · 0.65
PathMethod · 0.65
GetMethod · 0.65
UnmountMethod · 0.65
ListMethod · 0.65
CapabilitiesMethod · 0.65

Tested by

no test coverage detected