From 9416461f78c403ae3396abaea763bd25c55fa56d Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Tue, 22 Aug 2023 13:42:23 +0200 Subject: [PATCH] Fix SendHttpRequestActivity response handling logic This fixes a bug where the "unmatched status code" activity would be scheduled even if the returned status code was defined as an expected outcome. --- src/modules/Elsa.Http/Activities/SendHttpRequest.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/modules/Elsa.Http/Activities/SendHttpRequest.cs b/src/modules/Elsa.Http/Activities/SendHttpRequest.cs index da3dc5403..10ccd7b88 100644 --- a/src/modules/Elsa.Http/Activities/SendHttpRequest.cs +++ b/src/modules/Elsa.Http/Activities/SendHttpRequest.cs @@ -40,8 +40,14 @@ public class SendHttpRequest : SendHttpRequestBase var expectedStatusCodes = ExpectedStatusCodes; var statusCode = (int)response.StatusCode; var matchingCase = expectedStatusCodes.FirstOrDefault(x => x.StatusCode == statusCode); - var activity = matchingCase?.Activity ?? UnmatchedStatusCode; + var activity = matchingCase != null ? matchingCase.Activity : UnmatchedStatusCode; + if(activity == null) + { + await context.CompleteActivityAsync(); + return; + } + await context.ScheduleActivityAsync(activity, OnChildActivityCompletedAsync); }