interpolateString replaces ${action_name} variables with outputs
(s string)
| 647 | |
| 648 | // interpolateString replaces ${action_name} variables with outputs |
| 649 | func (e *Executor) interpolateString(s string) string { |
| 650 | result := s |
| 651 | |
| 652 | // Find all ${...} patterns |
| 653 | for actionName, output := range e.outputs { |
| 654 | placeholder := fmt.Sprintf("${%s}", actionName) |
| 655 | result = strings.ReplaceAll(result, placeholder, output) |
| 656 | } |
| 657 | |
| 658 | return result |
| 659 | } |
| 660 | |
| 661 | // executeBOFString executes a BOF with string arguments |
| 662 | func (e *Executor) executeBOFString(ctx context.Context, client *csclient.Client, beaconID string, action Action) (string, error) { |