From f033631b3065c63b46f7109a6b194d1112d93732 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Wed, 22 Nov 2023 20:46:12 +0100 Subject: [PATCH] Fix FlowSendHttpRequest Done outcome This fixes an issue where Done is not always triggered --- .../Elsa.Http/Activities/FlowSendHttpRequest.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs b/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs index 2149ab64a..6e8169d4f 100644 --- a/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs +++ b/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs @@ -35,9 +35,16 @@ public class FlowSendHttpRequest : SendHttpRequestBase, IActivityPropertyDefault var expectedStatusCodes = ExpectedStatusCodes.GetOrDefault(context) ?? new List(0); var statusCode = (int)response.StatusCode; var hasMatchingStatusCode = expectedStatusCodes.Contains(statusCode); - var outcome = expectedStatusCodes.Any() ? hasMatchingStatusCode ? statusCode.ToString() : "Unmatched status code" : "Done"; + var outcome = expectedStatusCodes.Any() ? hasMatchingStatusCode ? statusCode.ToString() : "Unmatched status code" : default; + var outcomes = new List(); - await context.CompleteActivityWithOutcomesAsync(outcome); + if (outcome != null) + outcomes.Add(outcome); + + outcomes.Add("Done"); + + context.JournalData["StatusCode"] = statusCode; + await context.CompleteActivityWithOutcomesAsync(outcomes.ToArray()); } ///