| 
					
				 | 
			
			
				@@ -86,9 +86,7 @@ namespace Jellyfin.SocketSharp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private static readonly char[] HttpTrimCharacters = new char[] { (char)0x09, (char)0xA, (char)0xB, (char)0xC, (char)0xD, (char)0x20 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // CheckBadChars - throws on invalid chars to be not found in header name/value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         internal static string CheckBadChars(string name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (name == null || name.Length == 0) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -97,11 +95,11 @@ namespace Jellyfin.SocketSharp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // VALUE check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //Trim spaces from both ends 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // Trim spaces from both ends 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             name = name.Trim(HttpTrimCharacters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //First, check for correctly formed multi-line value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //Second, check for absenece of CTL characters 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // First, check for correctly formed multi-line value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // Second, check for absenece of CTL characters 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             int crlf = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (int i = 0; i < name.Length; ++i) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -198,7 +196,10 @@ namespace Jellyfin.SocketSharp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public static string GetResponseContentType(IRequest httpReq) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var specifiedContentType = GetQueryStringContentType(httpReq); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!string.IsNullOrEmpty(specifiedContentType)) return specifiedContentType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!string.IsNullOrEmpty(specifiedContentType)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return specifiedContentType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var serverDefaultContentType = "application/json"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -237,7 +238,7 @@ namespace Jellyfin.SocketSharp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return Soap11; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //We could also send a '406 Not Acceptable', but this is allowed also 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // We could also send a '406 Not Acceptable', but this is allowed also 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return serverDefaultContentType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -252,7 +253,10 @@ namespace Jellyfin.SocketSharp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             foreach (var contentType in contentTypes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (IsContentType(request, contentType)) return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (IsContentType(request, contentType)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return false; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -274,10 +278,12 @@ namespace Jellyfin.SocketSharp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (pi[0] == '/') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     pi = pi.Substring(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 format = LeftPart(pi, '/'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (format.Length > formatMaxLength) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -285,7 +291,7 @@ namespace Jellyfin.SocketSharp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            format = LeftPart(format, '.').ToLowerInvariant(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            format = LeftPart(format, '.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (format.Contains("json", StringComparison.OrdinalIgnoreCase)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return "application/json"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -349,7 +355,7 @@ namespace Jellyfin.SocketSharp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return pathInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //Wildcard mode relies on this to work out the handlerPath 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // Wildcard mode relies on this to work out the handlerPath 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             pathInfo = ResolvePathInfoFromMappedPath(fullPath, appPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!string.IsNullOrEmpty(pathInfo)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 |