|
@@ -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))
|
|
|
{
|