feat(client): Support body placeholder for SSH endpoints (#1286)
* feat(ssh): Add BODY placeholder support for SSH endpoints - Modify ExecuteSSHCommand to capture stdout output - Update SSH endpoint handling to use needsToReadBody() mechanism - Add comprehensive test cases for SSH BODY functionality - Support basic body content, pattern matching, JSONPath, and functions - Maintain backward compatibility with existing SSH endpoints * docs: Add SSH BODY placeholder examples to README - Add [BODY] placeholder to supported SSH placeholders list - Add comprehensive examples showing various SSH BODY conditions - Include pattern matching, length checks, JSONPath expressions - Demonstrate function wrappers (len, has, any) usage * Revert "docs: Add SSH BODY placeholder examples to README" This reverts commit ae93e386833fb71885cab637fc46eb31500cb7c4. * docs: Add [BODY] placeholder to SSH supported placeholders list * test: remove SSH BODY placeholder test cases * Update client/client.go * Update client/client.go * docs: Add minimal SSH BODY example --------- Co-authored-by: TwiN <twin@linux.com>
This commit is contained in:
@@ -514,11 +514,16 @@ func (e *Endpoint) call(result *Result) {
|
||||
result.AddError(err.Error())
|
||||
return
|
||||
}
|
||||
result.Success, result.HTTPStatus, err = client.ExecuteSSHCommand(cli, e.getParsedBody(), e.ClientConfig)
|
||||
var output []byte
|
||||
result.Success, result.HTTPStatus, output, err = client.ExecuteSSHCommand(cli, e.getParsedBody(), e.ClientConfig)
|
||||
if err != nil {
|
||||
result.AddError(err.Error())
|
||||
return
|
||||
}
|
||||
// Only store the output in result.Body if there's a condition that uses the BodyPlaceholder
|
||||
if e.needsToReadBody() {
|
||||
result.Body = output
|
||||
}
|
||||
result.Duration = time.Since(startTime)
|
||||
} else {
|
||||
response, err = client.GetHTTPClient(e.ClientConfig).Do(request)
|
||||
|
||||
Reference in New Issue
Block a user