XmlOutputFormatter.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. using System.Net.Mime;
  2. using System.Text;
  3. using System.Threading.Tasks;
  4. using Microsoft.AspNetCore.Http;
  5. using Microsoft.AspNetCore.Mvc.Formatters;
  6. namespace Jellyfin.Server.Formatters
  7. {
  8. /// <summary>
  9. /// Xml output formatter.
  10. /// </summary>
  11. public class XmlOutputFormatter : TextOutputFormatter
  12. {
  13. /// <summary>
  14. /// Initializes a new instance of the <see cref="XmlOutputFormatter"/> class.
  15. /// </summary>
  16. public XmlOutputFormatter()
  17. {
  18. SupportedMediaTypes.Clear();
  19. SupportedMediaTypes.Add(MediaTypeNames.Text.Xml);
  20. SupportedEncodings.Add(Encoding.UTF8);
  21. SupportedEncodings.Add(Encoding.Unicode);
  22. }
  23. /// <inheritdoc />
  24. public override Task WriteResponseBodyAsync(OutputFormatterWriteContext context, Encoding selectedEncoding)
  25. {
  26. var stringResponse = context.Object?.ToString();
  27. return stringResponse == null ? Task.CompletedTask : context.HttpContext.Response.WriteAsync(stringResponse);
  28. }
  29. }
  30. }