From 9bd00619c8962ca69af3f56d688e2db7e4cf2e79 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sat, 28 Sep 2019 12:50:26 +0200 Subject: [PATCH] Change HttpRequestAction activity to store headers in dictionary This fixes a deserialization issue with MongoDb that cannot deserialize StringValues. --- .../Elsa.Activities.Http/Activities/HttpRequestAction.cs | 4 ++-- .../Elsa.Activities.Http/Models/HttpResponseModel.cs | 4 ++-- .../Elsa.Activities.Timers/Activities/TimerEvent.cs | 2 -- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/activities/Elsa.Activities.Http/Activities/HttpRequestAction.cs b/src/activities/Elsa.Activities.Http/Activities/HttpRequestAction.cs index 510eaf905..3034ac8cb 100644 --- a/src/activities/Elsa.Activities.Http/Activities/HttpRequestAction.cs +++ b/src/activities/Elsa.Activities.Http/Activities/HttpRequestAction.cs @@ -159,8 +159,8 @@ namespace Elsa.Activities.Http.Activities var responseModel = new HttpResponseModel { StatusCode = response.StatusCode, - Headers = new HeaderDictionary( - response.Headers.ToDictionary(x => x.Key, x => new StringValues(x.Value.ToArray())) + Headers = new Dictionary( + response.Headers.ToDictionary(x => x.Key, x => x.Value.ToArray()) ) }; diff --git a/src/activities/Elsa.Activities.Http/Models/HttpResponseModel.cs b/src/activities/Elsa.Activities.Http/Models/HttpResponseModel.cs index 21ecc456f..d6facef29 100644 --- a/src/activities/Elsa.Activities.Http/Models/HttpResponseModel.cs +++ b/src/activities/Elsa.Activities.Http/Models/HttpResponseModel.cs @@ -1,5 +1,5 @@ +using System.Collections.Generic; using System.Net; -using Microsoft.AspNetCore.Http; namespace Elsa.Activities.Http.Models { @@ -10,7 +10,7 @@ namespace Elsa.Activities.Http.Models } public HttpStatusCode StatusCode { get; set; } - public IHeaderDictionary Headers { get; set; } = new HeaderDictionary(); + public Dictionary Headers { get; set; } = new Dictionary(); public byte[] Content { get; set; } public object ParsedContent { get; set; } } diff --git a/src/activities/Elsa.Activities.Timers/Activities/TimerEvent.cs b/src/activities/Elsa.Activities.Timers/Activities/TimerEvent.cs index 0310d961a..5a626009e 100644 --- a/src/activities/Elsa.Activities.Timers/Activities/TimerEvent.cs +++ b/src/activities/Elsa.Activities.Timers/Activities/TimerEvent.cs @@ -66,9 +66,7 @@ namespace Elsa.Activities.Timers.Activities var now = clock.GetCurrentInstant(); if (StartTime == null) - { StartTime = now; - } var timeSpan = await expressionEvaluator.EvaluateAsync(TimeoutExpression, context, cancellationToken); var expiresAt = StartTime.Value.ToDateTimeUtc() + timeSpan;