Lidarr/src/Lidarr.Http/Extensions/NancyJsonSerializer.cs

32 lines
843 B
C#
Raw Normal View History

using System.Collections.Generic;
using System.IO;
using System.Text.Json;
using Nancy;
2019-09-12 20:32:51 +00:00
using Nancy.Responses.Negotiation;
2013-05-12 15:18:17 +00:00
using NzbDrone.Common.Serializer;
2017-09-04 02:20:56 +00:00
namespace Lidarr.Http.Extensions
{
public class NancyJsonSerializer : ISerializer
{
protected readonly JsonSerializerOptions _serializerSettings;
public NancyJsonSerializer()
{
_serializerSettings = STJson.GetSerializerSettings();
}
2019-09-12 20:32:51 +00:00
public bool CanSerialize(MediaRange contentType)
{
2019-09-12 20:32:51 +00:00
return contentType == "application/json";
}
2019-09-12 20:32:51 +00:00
public void Serialize<TModel>(MediaRange contentType, TModel model, Stream outputStream)
{
STJson.Serialize(model, outputStream, _serializerSettings);
}
public IEnumerable<string> Extensions { get; private set; }
}
2019-09-12 20:32:51 +00:00
}