MCPcopy Create free account
hub / github.com/UiPath/uipathcli / executeWait

Method executeWait

commandline/command_builder.go:370–388  ·  view source on GitHub ↗
(ctx executor.ExecutionContext, outputFormat string, query string, wait string, waitTimeout int)

Source from the content-addressed store, hash-verified

368}
369
370func (b CommandBuilder) executeWait(ctx executor.ExecutionContext, outputFormat string, query string, wait string, waitTimeout int) error {
371 logger := log.NewDefaultLogger(b.StdErr)
372 outputWriter := output.NewMemoryOutputWriter()
373 for start := time.Now(); time.Since(start) < time.Duration(waitTimeout)*time.Second; {
374 err := b.execute(ctx, "json", "", outputWriter)
375 result, evaluationErr := b.evaluateWaitCondition(outputWriter.Response(), wait)
376 if evaluationErr != nil {
377 return evaluationErr
378 }
379 if result {
380 resultWriter := b.outputWriter(b.StdOut, outputFormat, query)
381 _ = resultWriter.WriteResponse(outputWriter.Response())
382 return err
383 }
384 logger.LogError("Condition is not met yet. Waiting...\n")
385 time.Sleep(1 * time.Second)
386 }
387 return errors.New("Timed out waiting for condition")
388}
389
390func (b CommandBuilder) evaluateWaitCondition(response output.ResponseInfo, wait string) (bool, error) {
391 body, err := io.ReadAll(response.Body)

Callers 1

Calls 9

executeMethod · 0.95
evaluateWaitConditionMethod · 0.95
ResponseMethod · 0.95
outputWriterMethod · 0.95
LogErrorMethod · 0.95
NewDefaultLoggerFunction · 0.92
NewMemoryOutputWriterFunction · 0.92
NewMethod · 0.80
WriteResponseMethod · 0.65

Tested by

no test coverage detected