From c3448723d5bf5f1ba7d2d9f4c6becd223a0c2e59 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sat, 8 May 2021 22:06:46 +0200 Subject: [PATCH] Fix signal_url liquid filter --- .../Extensions/ServiceCollectionExtensions.cs | 3 +++ .../Elsa.Activities.Http/Liquid/SignalUrlFilter.cs | 13 ++++--------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/activities/Elsa.Activities.Http/Extensions/ServiceCollectionExtensions.cs b/src/activities/Elsa.Activities.Http/Extensions/ServiceCollectionExtensions.cs index 2ff70f152..189e4ef97 100644 --- a/src/activities/Elsa.Activities.Http/Extensions/ServiceCollectionExtensions.cs +++ b/src/activities/Elsa.Activities.Http/Extensions/ServiceCollectionExtensions.cs @@ -3,9 +3,11 @@ using Elsa; using Elsa.Activities.Http; using Elsa.Activities.Http.Bookmarks; using Elsa.Activities.Http.JavaScript; +using Elsa.Activities.Http.Liquid; using Elsa.Activities.Http.Options; using Elsa.Activities.Http.Parsers; using Elsa.Activities.Http.Services; +using Elsa.Scripting.Liquid.Extensions; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.Infrastructure; using Microsoft.Extensions.DependencyInjection.Extensions; @@ -44,6 +46,7 @@ namespace Microsoft.Extensions.DependencyInjection .AddBookmarkProvider() .AddHttpContextAccessor() .AddNotificationHandlers(typeof(ConfigureJavaScriptEngine)) + .AddLiquidFilter("signal_url") .AddDataProtection(); return services; diff --git a/src/activities/Elsa.Activities.Http/Liquid/SignalUrlFilter.cs b/src/activities/Elsa.Activities.Http/Liquid/SignalUrlFilter.cs index 7183d2764..697e61455 100644 --- a/src/activities/Elsa.Activities.Http/Liquid/SignalUrlFilter.cs +++ b/src/activities/Elsa.Activities.Http/Liquid/SignalUrlFilter.cs @@ -1,5 +1,4 @@ -using System; -using System.Threading.Tasks; +using System.Threading.Tasks; using Elsa.Activities.Http.Models; using Elsa.Activities.Http.Services; using Elsa.Scripting.Liquid.Services; @@ -22,14 +21,10 @@ namespace Elsa.Activities.Http.Liquid public ValueTask ProcessAsync(FluidValue input, FilterArguments arguments, TemplateContext context) { - var workflowContextValue = context.GetValue("WorkflowExecutionContext"); - - if (workflowContextValue.IsNil()) - throw new ArgumentException("WorkflowExecutionContext missing while invoking 'signal_url'"); - - var workflowContext = (WorkflowExecutionContext)workflowContextValue.ToObjectValue(); + var activityExecutionContext = (ActivityExecutionContext) context.Model; + var workflowExecutionContext = activityExecutionContext.WorkflowExecutionContext; var signalName = input.ToStringValue(); - var url = GenerateUrl(signalName, workflowContext); + var url = GenerateUrl(signalName, workflowExecutionContext); return new ValueTask(new StringValue(url)); }