CssOutputFormatter.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  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. /// Css output formatter.
  10. /// </summary>
  11. public class CssOutputFormatter : TextOutputFormatter
  12. {
  13. /// <summary>
  14. /// Initializes a new instance of the <see cref="CssOutputFormatter"/> class.
  15. /// </summary>
  16. public CssOutputFormatter()
  17. {
  18. SupportedMediaTypes.Add("text/css");
  19. SupportedEncodings.Add(Encoding.UTF8);
  20. SupportedEncodings.Add(Encoding.Unicode);
  21. }
  22. /// <summary>
  23. /// Write context object to stream.
  24. /// </summary>
  25. /// <param name="context">Writer context.</param>
  26. /// <param name="selectedEncoding">Unused. Writer encoding.</param>
  27. /// <returns>Write stream task.</returns>
  28. public override Task WriteResponseBodyAsync(OutputFormatterWriteContext context, Encoding selectedEncoding)
  29. {
  30. var stringResponse = context.Object?.ToString();
  31. return stringResponse == null ? Task.CompletedTask : context.HttpContext.Response.WriteAsync(stringResponse);
  32. }
  33. }
  34. }