diff options
| author | Bond-009 <bond.009@outlook.com> | 2023-01-17 21:11:32 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-17 21:11:32 +0100 |
| commit | 212876b23562f9cf1f5ce7a415f7187d45712c79 (patch) | |
| tree | a3f613b241891562516280cc226da73f510eb940 /Jellyfin.Api/Formatters/XmlOutputFormatter.cs | |
| parent | 70a74a8c62d889d2e186fd2a3a27263b4beab3c4 (diff) | |
| parent | c59f2a3c46dd3fad42dd987e04e48d6576373b13 (diff) | |
Merge pull request #9100 from barronpm/refactor-startup
Diffstat (limited to 'Jellyfin.Api/Formatters/XmlOutputFormatter.cs')
| -rw-r--r-- | Jellyfin.Api/Formatters/XmlOutputFormatter.cs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Jellyfin.Api/Formatters/XmlOutputFormatter.cs b/Jellyfin.Api/Formatters/XmlOutputFormatter.cs new file mode 100644 index 000000000..df8b1650b --- /dev/null +++ b/Jellyfin.Api/Formatters/XmlOutputFormatter.cs @@ -0,0 +1,33 @@ +using System.Net.Mime; +using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc.Formatters; + +namespace Jellyfin.Api.Formatters +{ + /// <summary> + /// Xml output formatter. + /// </summary> + public class XmlOutputFormatter : TextOutputFormatter + { + /// <summary> + /// Initializes a new instance of the <see cref="XmlOutputFormatter"/> class. + /// </summary> + public XmlOutputFormatter() + { + SupportedMediaTypes.Clear(); + SupportedMediaTypes.Add(MediaTypeNames.Text.Xml); + + SupportedEncodings.Add(Encoding.UTF8); + SupportedEncodings.Add(Encoding.Unicode); + } + + /// <inheritdoc /> + public override Task WriteResponseBodyAsync(OutputFormatterWriteContext context, Encoding selectedEncoding) + { + var stringResponse = context.Object?.ToString(); + return stringResponse is null ? Task.CompletedTask : context.HttpContext.Response.WriteAsync(stringResponse); + } + } +} |
