Fix signal_url liquid filter
This commit is contained in:
parent
5761ad7145
commit
c3448723d5
|
|
@ -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<HttpEndpointBookmarkProvider>()
|
||||
.AddHttpContextAccessor()
|
||||
.AddNotificationHandlers(typeof(ConfigureJavaScriptEngine))
|
||||
.AddLiquidFilter<SignalUrlFilter>("signal_url")
|
||||
.AddDataProtection();
|
||||
|
||||
return services;
|
||||
|
|
|
|||
|
|
@ -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<FluidValue> 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<FluidValue>(new StringValue(url));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue