diff --git a/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs b/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs
index cae3cbacf..f46f0e4d2 100644
--- a/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs
+++ b/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs
@@ -12,7 +12,8 @@ namespace Elsa.Http;
///
/// Send an HTTP request.
///
-[Activity("Elsa", "HTTP", "Send an HTTP request.", DisplayName = "HTTP Request (flow)", Kind = ActivityKind.Action)]
+[Activity("Elsa", "HTTP", "Send an HTTP request. This activity yis deprecated in favor of the SendHttpRequestTask activity", DisplayName = "HTTP Request (flow) [Deprecated] ", Kind = ActivityKind.Task)]
+[Obsolete("Use SendHttpRequestTask instead.")]
public class FlowSendHttpRequest : SendHttpRequestBase, IActivityPropertyDefaultValueProvider
{
///
diff --git a/src/modules/Elsa.Http/Activities/SendHttpRequest.cs b/src/modules/Elsa.Http/Activities/SendHttpRequest.cs
index 0fd76e72c..b45e5558f 100644
--- a/src/modules/Elsa.Http/Activities/SendHttpRequest.cs
+++ b/src/modules/Elsa.Http/Activities/SendHttpRequest.cs
@@ -10,7 +10,7 @@ namespace Elsa.Http;
///
/// Send an HTTP request.
///
-[Activity("Elsa", "HTTP", "Send an HTTP request.", DisplayName = "HTTP Request", Kind = ActivityKind.Action)]
+[Activity("Elsa", "HTTP", "Send an HTTP request.", DisplayName = "HTTP Request", Kind = ActivityKind.Task)]
public class SendHttpRequest : SendHttpRequestBase
{
///
diff --git a/src/modules/Elsa.Http/Activities/SendHttpRequestTask.cs b/src/modules/Elsa.Http/Activities/SendHttpRequestTask.cs
index 3c2c114ba..911ca0039 100644
--- a/src/modules/Elsa.Http/Activities/SendHttpRequestTask.cs
+++ b/src/modules/Elsa.Http/Activities/SendHttpRequestTask.cs
@@ -15,7 +15,7 @@ namespace Elsa.Http;
///
/// Sends HTTP requests from a background task.
///
-[Activity("Elsa", "HTTP", "Send an HTTP request from a background task.", DisplayName = "HTTP Request Task", Kind = ActivityKind.Job)]
+[Activity("Elsa", "HTTP", "Send an HTTP request from a background task.", DisplayName = "HTTP Request Task", Kind = ActivityKind.Task)]
public class SendHttpRequestTask : Activity
{
///
@@ -115,23 +115,23 @@ public class SendHttpRequestTask : Activity
context.SetResult(response.StatusCode);
context.Set(ParsedContent, parsedContent);
- HandleResponse(context, response);
+ await HandleResponseAsync(context, response);
}
catch (HttpRequestException e)
{
context.AddExecutionLogEntry("Error", e.Message, payload: new { StackTrace = e.StackTrace });
context.JournalData.Add("Error", e.Message);
- HandleRequestException(context, e);
+ await HandleRequestExceptionAsync(context, e);
}
catch (TaskCanceledException e)
{
context.AddExecutionLogEntry("Error", e.Message, payload: new { StackTrace = e.StackTrace });
context.JournalData.Add("Cancelled", true);
- HandleTaskCanceledException(context, e);
+ await HandleTaskCanceledExceptionAsync(context, e);
}
}
- private void HandleResponse(ActivityExecutionContext context, HttpResponseMessage response)
+ private async Task HandleResponseAsync(ActivityExecutionContext context, HttpResponseMessage response)
{
var expectedStatusCodes = ExpectedStatusCodes.GetOrDefault(context) ?? new List(0);
var statusCode = (int)response.StatusCode;
@@ -144,17 +144,17 @@ public class SendHttpRequestTask : Activity
outcomes.Add("Done");
context.JournalData["StatusCode"] = statusCode;
- context.SetBackgroundOutcomes(outcomes);
+ await context.CompleteActivityWithOutcomesAsync(outcomes.ToArray());
}
- private void HandleRequestException(ActivityExecutionContext context, HttpRequestException exception)
+ private async Task HandleRequestExceptionAsync(ActivityExecutionContext context, HttpRequestException exception)
{
- context.SetBackgroundOutcomes(new[] { "Failed to connect" });
+ await context.CompleteActivityWithOutcomesAsync("Failed to connect");
}
- private void HandleTaskCanceledException(ActivityExecutionContext context, TaskCanceledException exception)
+ private async Task HandleTaskCanceledExceptionAsync(ActivityExecutionContext context, TaskCanceledException exception)
{
- context.SetBackgroundOutcomes(new[] { "Timeout" });
+ await context.CompleteActivityWithOutcomesAsync("Timeout");
}
private async Task