MCPcopy Create free account
hub / github.com/chainreactors/EvilProxy / loadHomeModelEntries

Method loadHomeModelEntries

internal/api/server.go:1198–1246  ·  view source on GitHub ↗
(c *gin.Context)

Source from the content-addressed store, hash-verified

1196}
1197
1198func (s *Server) loadHomeModelEntries(c *gin.Context) ([]homeModelEntry, bool) {
1199 if s == nil || c == nil || c.Request == nil {
1200 return nil, false
1201 }
1202 client := home.Current()
1203 if client == nil {
1204 c.JSON(http.StatusServiceUnavailable, handlers.ErrorResponse{
1205 Error: handlers.ErrorDetail{
1206 Message: "home control center unavailable",
1207 Type: "server_error",
1208 },
1209 })
1210 return nil, false
1211 }
1212
1213 raw, errGet := client.GetModels(c.Request.Context(), c.Request.Header, c.Request.URL.Query())
1214 if errGet != nil {
1215 c.JSON(http.StatusBadGateway, handlers.ErrorResponse{
1216 Error: handlers.ErrorDetail{
1217 Message: errGet.Error(),
1218 Type: "server_error",
1219 },
1220 })
1221 return nil, false
1222 }
1223
1224 if statusCode, ok := homeModelsAuthStatus(raw); ok {
1225 c.JSON(statusCode, handlers.ErrorResponse{
1226 Error: handlers.ErrorDetail{
1227 Message: homeModelsErrorMessage(raw),
1228 Type: "authentication_error",
1229 },
1230 })
1231 return nil, false
1232 }
1233
1234 entries, errDecode := decodeHomeModels(raw)
1235 if errDecode != nil {
1236 c.JSON(http.StatusBadGateway, handlers.ErrorResponse{
1237 Error: handlers.ErrorDetail{
1238 Message: errDecode.Error(),
1239 Type: "server_error",
1240 },
1241 })
1242 return nil, false
1243 }
1244
1245 return entries, true
1246}
1247
1248func formatHomeGeminiModels(entries []homeModelEntry) []map[string]any {
1249 out := make([]map[string]any, 0, len(entries))

Callers 4

handleHomeModelsMethod · 0.95
handleHomeGeminiModelMethod · 0.95

Calls 8

CurrentFunction · 0.92
homeModelsAuthStatusFunction · 0.85
homeModelsErrorMessageFunction · 0.85
decodeHomeModelsFunction · 0.85
GetModelsMethod · 0.80
ContextMethod · 0.80
QueryMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected