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