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

23 lines
860 B
C#
Raw Normal View History

namespace ASC.Api.Core.Core;
public class XmlOutputFormatter : IOutputFormatter
2019-07-24 10:48:45 +00:00
{
public bool CanWriteResult(OutputFormatterCanWriteContext context)
{
return context.ContentType == MimeMapping.GetMimeMapping(".xml");
}
2019-07-24 10:48:45 +00:00
public Task WriteAsync(OutputFormatterWriteContext context)
{
var settings = new JsonSerializerSettings
2019-07-24 10:48:45 +00:00
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
DateParseHandling = DateParseHandling.None
};
2019-07-24 10:48:45 +00:00
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);
2019-07-24 10:48:45 +00:00
}
}