MCPcopy Create free account
hub / github.com/bricks-cloud/BricksLLM / handleValidationResult

Method handleValidationResult

internal/message/handler.go:193–261  ·  view source on GitHub ↗
(kc *key.ResponseKey, cost float64)

Source from the content-addressed store, hash-verified

191}
192
193func (h *Handler) handleValidationResult(kc *key.ResponseKey, cost float64) error {
194 err := h.v.Validate(kc, cost)
195
196 if err != nil {
197 telemetry.Incr("bricksllm.message.handler.handle_validation_result.handle_validation_result", nil, 1)
198
199 if _, ok := err.(expirationError); ok {
200 telemetry.Incr("bricksllm.message.handler.handle_validation_result.expiraton_error", nil, 1)
201
202 tks, err := h.km.GetKeys(nil, []string{kc.KeyId}, "")
203 if err != nil {
204 telemetry.Incr("bricksllm.message.handler.handle_validation_result.get_keys_error", nil, 1)
205 }
206
207 if len(tks) == 1 {
208 err := h.v.Validate(tks[0], cost)
209 if err != nil {
210 if xe, ok := err.(expirationError); ok {
211 h.log.Debug("expiration error",
212 zap.String("expired_reason", xe.Reason()),
213 zap.String("key_id", kc.KeyId),
214 )
215
216 truePtr := true
217 _, err = h.km.UpdateKey(kc.KeyId, &key.UpdateKey{
218 Revoked: &truePtr,
219 RevokedReason: key.RevokedReasonExpired,
220 })
221
222 if err != nil {
223 telemetry.Incr("bricksllm.message.handler.handle_validation_result.update_key_error", nil, 1)
224 return err
225 }
226
227 return nil
228 }
229 }
230 }
231 }
232
233 if _, ok := err.(rateLimitError); ok {
234 telemetry.Incr("bricksllm.message.handler.handle_validation_result.rate_limit_error", nil, 1)
235
236 err = h.ac.Set(kc.KeyId, kc.RateLimitUnit)
237 if err != nil {
238 telemetry.Incr("bricksllm.message.handler.handle_validation_result.set_rate_limit_error", nil, 1)
239 return err
240 }
241
242 return nil
243 }
244
245 if _, ok := err.(costLimitError); ok {
246 telemetry.Incr("bricksllm.message.handler.handle_validation_result.cost_limit_error", nil, 1)
247
248 err = h.ac.Set(kc.KeyId, kc.CostLimitInUsdUnit)
249 if err != nil {
250 telemetry.Incr("bricksllm.message.handler.handle_validation_result.set_cost_limit_error", nil, 1)

Callers 1

Calls 7

IncrFunction · 0.92
DebugMethod · 0.80
ValidateMethod · 0.65
GetKeysMethod · 0.65
ReasonMethod · 0.65
UpdateKeyMethod · 0.65
SetMethod · 0.65

Tested by

no test coverage detected