diff options
| author | Andrew Rabert <6550543+nvllsvm@users.noreply.github.com> | 2019-01-24 23:03:54 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-24 23:03:54 -0500 |
| commit | b4fdfb562dada77ff6d9c75bbc9e5e5b3ee977a2 (patch) | |
| tree | cafeb8316e0120f052eb094e44a02e94639fc223 /Jellyfin.Server/SocketSharp/WebSocketSharpRequest.cs | |
| parent | 15806de2aad07a4b4c799a0ee56d770dd5248543 (diff) | |
| parent | 48ad18d12baeeb42ec0ec7df9473330dcbc76754 (diff) | |
Merge pull request #700 from jellyfin/dev
Dev sync
Diffstat (limited to 'Jellyfin.Server/SocketSharp/WebSocketSharpRequest.cs')
| -rw-r--r-- | Jellyfin.Server/SocketSharp/WebSocketSharpRequest.cs | 64 |
1 files changed, 49 insertions, 15 deletions
diff --git a/Jellyfin.Server/SocketSharp/WebSocketSharpRequest.cs b/Jellyfin.Server/SocketSharp/WebSocketSharpRequest.cs index e38468388..97550e686 100644 --- a/Jellyfin.Server/SocketSharp/WebSocketSharpRequest.cs +++ b/Jellyfin.Server/SocketSharp/WebSocketSharpRequest.cs @@ -242,7 +242,6 @@ namespace Jellyfin.SocketSharp return request.ContentType.StartsWith(contentType, StringComparison.OrdinalIgnoreCase); } - public const string Xml = "application/xml"; private static string GetQueryStringContentType(IRequest httpReq) { var format = httpReq.QueryString["format"]; @@ -250,22 +249,40 @@ namespace Jellyfin.SocketSharp { const int formatMaxLength = 4; var pi = httpReq.PathInfo; - if (pi == null || pi.Length <= formatMaxLength) return null; - if (pi[0] == '/') pi = pi.Substring(1); + if (pi == null || pi.Length <= formatMaxLength) + { + return null; + } + if (pi[0] == '/') + { + pi = pi.Substring(1); + } format = LeftPart(pi, '/'); - if (format.Length > formatMaxLength) return null; + if (format.Length > formatMaxLength) + { + return null; + } } format = LeftPart(format, '.').ToLower(); - if (format.Contains("json")) return "application/json"; - if (format.Contains("xml")) return Xml; + if (format.Contains("json", StringComparison.OrdinalIgnoreCase)) + { + return "application/json"; + } + if (format.Contains("xml", StringComparison.OrdinalIgnoreCase)) + { + return "application/xml"; + } return null; } public static string LeftPart(string strVal, char needle) { - if (strVal == null) return null; + if (strVal == null) + { + return null; + } var pos = strVal.IndexOf(needle); return pos == -1 ? strVal @@ -283,14 +300,14 @@ namespace Jellyfin.SocketSharp { var mode = HandlerFactoryPath; - var pos = request.RawUrl.IndexOf("?"); + var pos = request.RawUrl.IndexOf("?", StringComparison.Ordinal); if (pos != -1) { var path = request.RawUrl.Substring(0, pos); this.pathInfo = GetPathInfo( path, mode, - mode ?? ""); + mode ?? string.Empty); } else { @@ -307,18 +324,27 @@ namespace Jellyfin.SocketSharp private static string GetPathInfo(string fullPath, string mode, string appPath) { var pathInfo = ResolvePathInfoFromMappedPath(fullPath, mode); - if (!string.IsNullOrEmpty(pathInfo)) return pathInfo; + if (!string.IsNullOrEmpty(pathInfo)) + { + return pathInfo; + } //Wildcard mode relies on this to work out the handlerPath pathInfo = ResolvePathInfoFromMappedPath(fullPath, appPath); - if (!string.IsNullOrEmpty(pathInfo)) return pathInfo; + if (!string.IsNullOrEmpty(pathInfo)) + { + return pathInfo; + } return fullPath; } private static string ResolvePathInfoFromMappedPath(string fullPath, string mappedPathRoot) { - if (mappedPathRoot == null) return null; + if (mappedPathRoot == null) + { + return null; + } var sbPathInfo = new StringBuilder(); var fullPathParts = fullPath.Split('/'); @@ -345,7 +371,10 @@ namespace Jellyfin.SocketSharp } } } - if (!pathRootFound) return null; + if (!pathRootFound) + { + return null; + } var path = sbPathInfo.ToString(); return path.Length > 1 ? path.TrimEnd('/') : "/"; @@ -400,7 +429,10 @@ namespace Jellyfin.SocketSharp public static Encoding GetEncoding(string contentTypeHeader) { var param = GetParameter(contentTypeHeader, "charset="); - if (param == null) return null; + if (param == null) + { + return null; + } try { return Encoding.GetEncoding(param); @@ -423,7 +455,9 @@ namespace Jellyfin.SocketSharp if (httpFiles == null) { if (files == null) - return httpFiles = new IHttpFile[0]; + { + return httpFiles = Array.Empty<IHttpFile>(); + } httpFiles = new IHttpFile[files.Count]; var i = 0; |
