MCPcopy Create free account
hub / github.com/Quorinex/Kiro-Go / apiGetAccountModels

Method apiGetAccountModels

proxy/handler.go:3383–3421  ·  view source on GitHub ↗

apiGetAccountModels 获取账户可用模型

(w http.ResponseWriter, r *http.Request, id string)

Source from the content-addressed store, hash-verified

3381 oldestExpiry = expiry
3382 }
3383 }
3384 delete(h.microsoftCanceled, oldestID)
3385 }
3386 h.microsoftCanceled[sessionID] = now.Add(microsoftCanceledSessionTTL)
3387 if discovery := h.microsoftDiscoveries[sessionID]; discovery != nil {
3388 discovery.cancel()
3389 }
3390 h.microsoftFlowMu.Unlock()
3391}
3392
3393func (h *Handler) beginMicrosoftProfileDiscovery(
3394 parent context.Context,
3395 sessionID string,
3396) (context.Context, *microsoftProfileDiscovery, bool) {
3397 sessionID = strings.TrimSpace(sessionID)
3398 h.microsoftFlowMu.Lock()
3399 defer h.microsoftFlowMu.Unlock()
3400 if h.microsoftSessionCanceledLocked(sessionID, time.Now()) {
3401 return nil, nil, false
3402 }
3403 if h.microsoftDiscoveries == nil {
3404 h.microsoftDiscoveries = make(map[string]*microsoftProfileDiscovery)
3405 }
3406 if h.microsoftDiscoveries[sessionID] != nil {
3407 return nil, nil, false
3408 }
3409 ctx, cancel := context.WithTimeout(parent, microsoftProfileDiscoveryTimeout)
3410 discovery := &microsoftProfileDiscovery{cancel: cancel}
3411 h.microsoftDiscoveries[sessionID] = discovery
3412 return ctx, discovery, true
3413}
3414
3415func (h *Handler) endMicrosoftProfileDiscovery(sessionID string, expected *microsoftProfileDiscovery) {
3416 expected.cancel()
3417 h.microsoftFlowMu.Lock()
3418 if h.microsoftDiscoveries[strings.TrimSpace(sessionID)] == expected {
3419 delete(h.microsoftDiscoveries, strings.TrimSpace(sessionID))
3420 }
3421 h.microsoftFlowMu.Unlock()
3422}
3423
3424func (h *Handler) microsoftSessionCanceled(sessionID string) bool {

Callers 1

handleAdminAPIMethod · 0.95

Calls 5

GetAccountsFunction · 0.92
ListAvailableModelsFunction · 0.85
mergeUniqueModelsFunction · 0.85
ErrorMethod · 0.80
SetModelListMethod · 0.80

Tested by

no test coverage detected