using System; using System.Threading.Tasks; using Elsa.Builders; using Elsa.Services.Models; using Microsoft.AspNetCore.Http; // ReSharper disable once CheckNamespace namespace Elsa.Activities.Http { public static class ReceiveHttpRequestBuilderExtensions { public static IActivityBuilder ReceiveHttpRequest(this IBuilder builder, Action> setup) => builder.Then(setup); public static IActivityBuilder ReceiveHttpRequest(this IBuilder builder, Func> path) => builder.ReceiveHttpRequest(setup => setup.Set(x => x.Path, path)); public static IActivityBuilder ReceiveHttpRequest(this IBuilder builder, Func path) => builder.ReceiveHttpRequest(setup => setup.Set(x => x.Path, path)); public static IActivityBuilder ReceiveHttpRequest(this IBuilder builder, Func> path) => builder.ReceiveHttpRequest(setup => setup.Set(x => x.Path, path)); public static IActivityBuilder ReceiveHttpRequest(this IBuilder builder, Func path) => builder.ReceiveHttpRequest(setup => setup.Set(x => x.Path, path)); public static IActivityBuilder ReceiveHttpRequest(this IBuilder builder, PathString path) => builder.ReceiveHttpRequest(setup => setup.Set(x => x.Path, path)); public static IActivityBuilder ReceiveHttpPostRequest(this IBuilder builder, Func path) => builder.ReceiveHttpRequest(activity => activity.WithPath(path).WithMethod(HttpMethods.Post).WithTargetType()); public static IActivityBuilder ReceiveHttpPostRequest(this IBuilder builder, Func path) => builder.ReceiveHttpRequest(activity => activity.WithPath(path).WithMethod(HttpMethods.Post).WithTargetType()); public static IActivityBuilder ReceiveHttpPostRequest(this IBuilder builder, PathString path) => builder.ReceiveHttpRequest(activity => activity.WithPath(path).WithMethod(HttpMethods.Post).WithTargetType()); } }