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

Method RunSteps

internal/route/route.go:392–611  ·  view source on GitHub ↗
(req *Request, rec recorder, log *zap.Logger)

Source from the content-addressed store, hash-verified

390}
391
392func (r *Route) RunSteps(req *Request, rec recorder, log *zap.Logger) (*Response, error) {
393 if len(r.Steps) == 0 {
394 return nil, errors.New("steps are empty")
395 }
396
397 responses := []*http.Response{}
398 cancelFuncs := []context.CancelFunc{}
399
400 noResponses := false
401 defer func() {
402 for index, resp := range responses {
403 if index != len(responses)-1 {
404 if resp != nil {
405 resp.Body.Close()
406 }
407 }
408 }
409
410 for index, cancel := range cancelFuncs {
411 if index != len(cancelFuncs)-1 || noResponses {
412 cancel()
413 }
414 }
415 }()
416
417 body, err := io.ReadAll(req.Forwarded.Body)
418 if err != nil {
419 return nil, err
420 }
421
422 var lastErr error
423 stopStep := 0
424
425 totalRetries := 0
426 currentRetry := 0
427 for _, step := range r.Steps {
428 totalRetries += step.Retries
429 }
430
431 for idx, step := range r.Steps {
432 resourceName := ""
433
434 if step.Provider == "azure" {
435 val, err := req.GetSettingValue("azure", "resourceName")
436 if err != nil {
437 return nil, err
438 }
439
440 resourceName = val
441 }
442
443 key, err := req.GetSettingValue(step.Provider, "apikey")
444 if err != nil {
445 return nil, err
446 }
447
448 parsed, err := time.ParseDuration(step.Timeout)
449 if err != nil {

Callers

nothing calls this directly

Calls 11

ShouldRunEmbeddingsMethod · 0.95
NewUuidFunction · 0.92
buildRequestUrlFunction · 0.85
setHttpRequestAuthHeaderFunction · 0.85
GetSettingValueMethod · 0.80
DebugMethod · 0.80
GetMethod · 0.65
SetMethod · 0.65
RecordEventMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected