CssOutputFormatter.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Text;
  2. using System.Threading.Tasks;
  3. using Microsoft.AspNetCore.Http;
  4. using Microsoft.AspNetCore.Mvc.Formatters;
  5. namespace Jellyfin.Server.Formatters
  6. {
  7. /// <summary>
  8. /// Css output formatter.
  9. /// </summary>
  10. public class CssOutputFormatter : TextOutputFormatter
  11. {
  12. /// <summary>
  13. /// Initializes a new instance of the <see cref="CssOutputFormatter"/> class.
  14. /// </summary>
  15. public CssOutputFormatter()
  16. {
  17. SupportedMediaTypes.Add("text/css");
  18. SupportedEncodings.Add(Encoding.UTF8);
  19. SupportedEncodings.Add(Encoding.Unicode);
  20. }
  21. /// <summary>
  22. /// Write context object to stream.
  23. /// </summary>
  24. /// <param name="context">Writer context.</param>
  25. /// <param name="selectedEncoding">Unused. Writer encoding.</param>
  26. /// <returns>Write stream task.</returns>
  27. public override Task WriteResponseBodyAsync(OutputFormatterWriteContext context, Encoding selectedEncoding)
  28. {
  29. var stringResponse = context.Object?.ToString();
  30. return stringResponse == null ? Task.CompletedTask : context.HttpContext.Response.WriteAsync(stringResponse);
  31. }
  32. }
  33. }