elsa-core/test/component/Elsa.ComponentTests/Helpers/JsonContent.cs
2020-10-19 22:12:11 +02:00

29 lines
909 B
C#

using System.Net.Http;
using System.Text;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
using NodaTime;
using NodaTime.Serialization.JsonNet;
namespace Elsa.ComponentTests.Helpers
{
public class JsonContent : StringContent
{
public static readonly JsonSerializerSettings SerializerSettings;
static JsonContent()
{
SerializerSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb);
SerializerSettings.Converters.Add(new StringEnumConverter());
}
public JsonContent(string content) : base(content, Encoding.UTF8, "application/json")
{
}
public JsonContent(object content) : this(JsonConvert.SerializeObject(content, SerializerSettings))
{
}
}
}