aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Server.Implementations/SocketSharp/WebSocketSharpRequest.cs25
-rw-r--r--Jellyfin.Server/Program.cs1
2 files changed, 21 insertions, 5 deletions
diff --git a/Emby.Server.Implementations/SocketSharp/WebSocketSharpRequest.cs b/Emby.Server.Implementations/SocketSharp/WebSocketSharpRequest.cs
index 24fd36062..976f2ec06 100644
--- a/Emby.Server.Implementations/SocketSharp/WebSocketSharpRequest.cs
+++ b/Emby.Server.Implementations/SocketSharp/WebSocketSharpRequest.cs
@@ -408,11 +408,28 @@ namespace Emby.Server.Implementations.SocketSharp
public string ContentType => request.ContentType;
- private Encoding contentEncoding;
- public Encoding ContentEncoding
+ private Encoding ContentEncoding
{
- get => contentEncoding ?? Encoding.GetEncoding(request.Headers[HeaderNames.ContentEncoding].ToString());
- set => contentEncoding = value;
+ get
+ {
+ // TODO is this necessary?
+ if (UserAgent != null && CultureInfo.InvariantCulture.CompareInfo.IsPrefix(UserAgent, "UP"))
+ {
+ string postDataCharset = Headers["x-up-devcap-post-charset"];
+ if (!string.IsNullOrEmpty(postDataCharset))
+ {
+ try
+ {
+ return Encoding.GetEncoding(postDataCharset);
+ }
+ catch (ArgumentException)
+ {
+ }
+ }
+ }
+
+ return request.GetTypedHeaders().ContentType.Encoding ?? Encoding.UTF8;
+ }
}
public Uri UrlReferrer => request.GetTypedHeaders().Referer;
diff --git a/Jellyfin.Server/Program.cs b/Jellyfin.Server/Program.cs
index bfc50468f..a43c3fea5 100644
--- a/Jellyfin.Server/Program.cs
+++ b/Jellyfin.Server/Program.cs
@@ -144,7 +144,6 @@ namespace Jellyfin.Server
appHost.ImageProcessor.ImageEncoder = GetImageEncoder(fileSystem, appPaths, appHost.LocalizationManager);
await appHost.RunStartupTasks().ConfigureAwait(false);
- appHost.Host.Run();
// TODO: read input for a stop command
try