MCPcopy Create free account
hub / github.com/Chat2AnyLLM/code-agent-manager / handleProvider

Method handleProvider

internal/sidecar/server.go:145–180  ·  view source on GitHub ↗
(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

143}
144
145func (s *Server) handleProvider(w http.ResponseWriter, r *http.Request) {
146 parts := strings.Split(strings.TrimPrefix(r.URL.Path, "/api/providers/"), "/")
147 if len(parts) == 0 || parts[0] == "" {
148 writeError(w, http.StatusNotFound, "provider not found")
149 return
150 }
151 name := parts[0]
152 action := ""
153 if len(parts) > 1 {
154 action = parts[1]
155 }
156
157 if action != "" {
158 s.handleProviderAction(w, r, name, action)
159 return
160 }
161
162 switch r.Method {
163 case http.MethodGet:
164 provider, err := s.services.Providers.Show(name)
165 writeResult(w, provider, err)
166 case http.MethodPatch:
167 var input desktop.ProviderInput
168 if err := decodeJSON(r, &input); err != nil {
169 writeError(w, http.StatusBadRequest, err.Error())
170 return
171 }
172 provider, err := s.services.Providers.Update(name, input)
173 writeResult(w, provider, err)
174 case http.MethodDelete:
175 result, err := s.services.Providers.Remove(name)
176 writeResult(w, result, err)
177 default:
178 methodNotAllowed(w)
179 }
180}
181
182func (s *Server) handleProviderAction(w http.ResponseWriter, r *http.Request, name, action string) {
183 if r.Method != http.MethodPost && action != "models" {

Callers

nothing calls this directly

Calls 9

handleProviderActionMethod · 0.95
writeErrorFunction · 0.85
writeResultFunction · 0.85
decodeJSONFunction · 0.85
methodNotAllowedFunction · 0.85
ShowMethod · 0.45
ErrorMethod · 0.45
UpdateMethod · 0.45
RemoveMethod · 0.45

Tested by

no test coverage detected