diff --git a/src/activities/Elsa.Activities.Http/Activities/WriteHttpResponse/WriteHttpResponse.cs b/src/activities/Elsa.Activities.Http/Activities/WriteHttpResponse/WriteHttpResponse.cs index 38f5066cf..394ca272e 100644 --- a/src/activities/Elsa.Activities.Http/Activities/WriteHttpResponse/WriteHttpResponse.cs +++ b/src/activities/Elsa.Activities.Http/Activities/WriteHttpResponse/WriteHttpResponse.cs @@ -8,6 +8,7 @@ using Elsa.Expressions; using Elsa.Services; using Elsa.Services.Models; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.Extensions.Localization; // ReSharper disable once CheckNamespace @@ -38,9 +39,10 @@ namespace Elsa.Activities.Http UIHint = ActivityPropertyUIHints.Dropdown, Hint = "The HTTP status code to write.", Options = new[] { HttpStatusCode.OK, HttpStatusCode.Created, HttpStatusCode.Accepted, HttpStatusCode.NoContent, HttpStatusCode.Redirect, HttpStatusCode.BadRequest, HttpStatusCode.NotFound, HttpStatusCode.Conflict }, - SupportedSyntaxes = new[] { SyntaxNames.Literal, SyntaxNames.JavaScript, SyntaxNames.Liquid } + SupportedSyntaxes = new[] { SyntaxNames.Literal, SyntaxNames.JavaScript, SyntaxNames.Liquid }, + DefaultValue = HttpStatusCode.OK )] - public HttpStatusCode StatusCode { get; set; } + public HttpStatusCode StatusCode { get; set; } = HttpStatusCode.OK; /// /// The content to send along with the response @@ -55,9 +57,10 @@ namespace Elsa.Activities.Http UIHint = ActivityPropertyUIHints.Dropdown, Hint = "The HTTP content type header to write.", Options = new[] { "text/plain", "text/html", "application/json", "application/xml" }, + DefaultValue = "text/plain", SupportedSyntaxes = new[] { SyntaxNames.Literal, SyntaxNames.JavaScript, SyntaxNames.Liquid } )] - public string? ContentType { get; set; } + public string? ContentType { get; set; } = "text/plain"; /// /// The headers to send along with the response. diff --git a/src/activities/Elsa.Activities.Http/Middleware/HttpRequestMiddleware.cs b/src/activities/Elsa.Activities.Http/Middleware/HttpRequestMiddleware.cs index 819211238..d0e0f2ad8 100644 --- a/src/activities/Elsa.Activities.Http/Middleware/HttpRequestMiddleware.cs +++ b/src/activities/Elsa.Activities.Http/Middleware/HttpRequestMiddleware.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; using Elsa.Activities.Http.Bookmarks; using Elsa.Activities.Http.Extensions; @@ -31,9 +32,9 @@ namespace Elsa.Activities.Http.Middleware IWorkflowBlueprintReflector workflowBlueprintReflector, IEnumerable contentParsers) { + var cancellationToken = CancellationToken.None; // Prevent half-way request abortion (which also happens when WriteHttpResponse writes to the response). var path = httpContext.Request.Path.Value.ToLowerInvariant(); var method = httpContext.Request.Method!.ToLowerInvariant(); - var cancellationToken = httpContext.RequestAborted; var request = httpContext.Request; request.TryGetCorrelationId(out var correlationId); var useDispatch = httpContext.Request.GetUseDispatch();