XmlOutputFormatter.cs 980 B

1234567891011121314151617181920212223242526272829303132
  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.Api.Formatters;
  7. /// <summary>
  8. /// Xml output formatter.
  9. /// </summary>
  10. public class XmlOutputFormatter : TextOutputFormatter
  11. {
  12. /// <summary>
  13. /// Initializes a new instance of the <see cref="XmlOutputFormatter"/> class.
  14. /// </summary>
  15. public XmlOutputFormatter()
  16. {
  17. SupportedMediaTypes.Clear();
  18. SupportedMediaTypes.Add(MediaTypeNames.Text.Xml);
  19. SupportedEncodings.Add(Encoding.UTF8);
  20. SupportedEncodings.Add(Encoding.Unicode);
  21. }
  22. /// <inheritdoc />
  23. public override Task WriteResponseBodyAsync(OutputFormatterWriteContext context, Encoding selectedEncoding)
  24. {
  25. var stringResponse = context.Object?.ToString();
  26. return stringResponse is null ? Task.CompletedTask : context.HttpContext.Response.WriteAsync(stringResponse);
  27. }
  28. }