DocSpace-client/common/ASC.Api.Core/Core/XmlOutputFormatter.cs

24 lines
935 B
C#
Raw Normal View History

2022-01-26 08:06:31 +00:00
namespace ASC.Api.Core.Core
2019-07-24 10:48:45 +00:00
{
public class XmlOutputFormatter : IOutputFormatter
{
public bool CanWriteResult(OutputFormatterCanWriteContext context)
{
return context.ContentType == MimeMapping.GetMimeMapping(".xml");
}
public Task WriteAsync(OutputFormatterWriteContext context)
{
var settings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
DateParseHandling = DateParseHandling.None
};
var responseJson = JsonConvert.SerializeObject(context.Object, Formatting.Indented, settings);
responseJson = JsonConvert.DeserializeObject<XDocument>("{\"result\":" + responseJson + "}", settings).ToString(SaveOptions.None);
return context.HttpContext.Response.WriteAsync(responseJson);
}
}
}