This is an automated email from the ASF dual-hosted git repository. heneveld pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit 459a67519191d39a759667c9d98eacef3427f4df Author: Alex Heneveld <[email protected]> AuthorDate: Tue Mar 21 09:23:24 2023 +0000 include content_json as output from http --- .../core/workflow/steps/external/HttpWorkflowStep.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/apache/brooklyn/core/workflow/steps/external/HttpWorkflowStep.java b/core/src/main/java/org/apache/brooklyn/core/workflow/steps/external/HttpWorkflowStep.java index 6f24f49af0..b3b10b9fda 100644 --- a/core/src/main/java/org/apache/brooklyn/core/workflow/steps/external/HttpWorkflowStep.java +++ b/core/src/main/java/org/apache/brooklyn/core/workflow/steps/external/HttpWorkflowStep.java @@ -30,7 +30,6 @@ import org.apache.brooklyn.util.collections.MutableMap; import org.apache.brooklyn.util.core.javalang.BrooklynHttpConfig; import org.apache.brooklyn.util.core.json.ShellEnvironmentSerializer; import org.apache.brooklyn.util.core.predicates.DslPredicates; -import org.apache.brooklyn.util.core.task.system.ProcessTaskWrapper; import org.apache.brooklyn.util.exceptions.Exceptions; import org.apache.brooklyn.util.http.HttpTool; import org.apache.brooklyn.util.http.auth.UsernamePassword; @@ -43,9 +42,10 @@ import org.apache.brooklyn.util.stream.Streams; import org.apache.brooklyn.util.text.Strings; import org.apache.brooklyn.util.time.Duration; import org.apache.http.client.utils.URIBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.IOException; -import java.lang.reflect.Array; import java.net.URISyntaxException; import java.nio.charset.Charset; import java.util.Map; @@ -53,6 +53,8 @@ import java.util.function.Predicate; public class HttpWorkflowStep extends WorkflowStepDefinition { + private static final Logger log = LoggerFactory.getLogger(HttpWorkflowStep.class); + public static final String SHORTHAND = "${endpoint}"; public static final ConfigKey<String> ENDPOINT = ConfigKeys.newStringConfigKey("endpoint"); @@ -160,7 +162,14 @@ public class HttpWorkflowStep extends WorkflowStepDefinition { Predicate<Integer> exitcode = context.getInput(STATUS_CODE); if (exitcode==null) exitcode = code -> HttpTool.isStatusCodeHealthy(code); - context.setOutput(MutableMap.of("status_code", response.code(), "headers", response.headers(), "content", contentString, "content_bytes", contentBytes, "duration", Duration.millis(endTime - startTime))); + Object content_json = null; + try { + content_json = BeanWithTypeUtils.newSimpleMapper().readValue(contentString, Object.class); + } catch (Exception e) { + Exceptions.propagateIfFatal(e); + log.debug("Content from web request is not json; not setting content_json: "+e); + } + context.setOutput(MutableMap.of("status_code", response.code(), "headers", response.headers(), "content", contentString, "content_bytes", contentBytes, "content_json", content_json, "duration", Duration.millis(endTime - startTime))); // make sure the output is set even if there is an error checkExitCode(response.code(), exitcode); return context.getOutput();
