Refactor: standardize namespace and using directive style
Refactored all C# test files to use explicit namespace declarations and moved all using directives inside the namespace block for consistency. Updated assembly info and cache files to reflect the new build. Adjusted MvcTestingAppManifest.json to use fully qualified assembly names. No functional changes; all updates are related to code style, organization, and project metadata.
This commit is contained in:
@@ -4,12 +4,10 @@
|
||||
|
||||
#pragma warning disable CS1591
|
||||
|
||||
namespace MediaBrowser.Model.Net
|
||||
{
|
||||
public class EndPointInfo
|
||||
{
|
||||
public bool IsLocal { get; set; }
|
||||
namespace MediaBrowser.Model.Net;
|
||||
public class EndPointInfo
|
||||
{
|
||||
public bool IsLocal { get; set; }
|
||||
|
||||
public bool IsInNetwork { get; set; }
|
||||
}
|
||||
}
|
||||
public bool IsInNetwork { get; set; }
|
||||
}
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
// Copyright (c) PlaceholderCompany. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
|
||||
namespace MediaBrowser.Model.Net;
|
||||
|
||||
using global::System.Net;
|
||||
using global::System.Net.Sockets;
|
||||
|
||||
/// <summary>
|
||||
/// Base network object class.
|
||||
/// </summary>
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
// Copyright (c) PlaceholderCompany. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
|
||||
namespace MediaBrowser.Model.Net;
|
||||
|
||||
using global::System.Net;
|
||||
using global::System.Net.Sockets;
|
||||
|
||||
/// <summary>
|
||||
/// Implemented by components that can create specific socket configurations.
|
||||
/// </summary>
|
||||
|
||||
+173
-175
@@ -4,203 +4,201 @@
|
||||
|
||||
#pragma warning disable CS1591
|
||||
|
||||
using System;
|
||||
using global::System;
|
||||
using System.Collections.Frozen;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net.Mime;
|
||||
using global::System.Collections.Generic;
|
||||
using global::System.Diagnostics.CodeAnalysis;
|
||||
using global::System.IO;
|
||||
using global::System.Linq;
|
||||
using global::System.Net.Mime;
|
||||
using Jellyfin.Extensions;
|
||||
|
||||
namespace MediaBrowser.Model.Net
|
||||
{
|
||||
/// <summary>
|
||||
/// Class MimeTypes.
|
||||
/// </summary>
|
||||
///
|
||||
/// <remarks>
|
||||
/// For more information on MIME types:
|
||||
/// <list type="bullet">
|
||||
/// <item>http://en.wikipedia.org/wiki/Internet_media_type</item>
|
||||
/// <item>https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types</item>
|
||||
/// <item>http://www.iana.org/assignments/media-types/media-types.xhtml</item>
|
||||
/// </list>
|
||||
/// </remarks>
|
||||
public static class MimeTypes
|
||||
{
|
||||
/// <summary>
|
||||
/// Any extension in this list is considered a video file.
|
||||
/// </summary>
|
||||
private static readonly FrozenSet<string> _videoFileExtensions = new[]
|
||||
{
|
||||
".3gp",
|
||||
".asf",
|
||||
".avi",
|
||||
".divx",
|
||||
".dvr-ms",
|
||||
".f4v",
|
||||
".flv",
|
||||
".img",
|
||||
".iso",
|
||||
".m2t",
|
||||
".m2ts",
|
||||
".m2v",
|
||||
".m4v",
|
||||
".mk3d",
|
||||
".mkv",
|
||||
".mov",
|
||||
".mp4",
|
||||
".mpg",
|
||||
".mpeg",
|
||||
".mts",
|
||||
".ogg",
|
||||
".ogm",
|
||||
".ogv",
|
||||
".rec",
|
||||
".ts",
|
||||
".rmvb",
|
||||
".vob",
|
||||
".webm",
|
||||
".wmv",
|
||||
".wtv",
|
||||
}.ToFrozenSet(StringComparer.OrdinalIgnoreCase);
|
||||
namespace MediaBrowser.Model.Net;
|
||||
/// <summary>
|
||||
/// Class MimeTypes.
|
||||
/// </summary>
|
||||
///
|
||||
/// <remarks>
|
||||
/// For more information on MIME types:
|
||||
/// <list type="bullet">
|
||||
/// <item>http://en.wikipedia.org/wiki/Internet_media_type</item>
|
||||
/// <item>https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types</item>
|
||||
/// <item>http://www.iana.org/assignments/media-types/media-types.xhtml</item>
|
||||
/// </list>
|
||||
/// </remarks>
|
||||
public static class MimeTypes
|
||||
{
|
||||
/// <summary>
|
||||
/// Any extension in this list is considered a video file.
|
||||
/// </summary>
|
||||
private static readonly FrozenSet<string> _videoFileExtensions = new[]
|
||||
{
|
||||
".3gp",
|
||||
".asf",
|
||||
".avi",
|
||||
".divx",
|
||||
".dvr-ms",
|
||||
".f4v",
|
||||
".flv",
|
||||
".img",
|
||||
".iso",
|
||||
".m2t",
|
||||
".m2ts",
|
||||
".m2v",
|
||||
".m4v",
|
||||
".mk3d",
|
||||
".mkv",
|
||||
".mov",
|
||||
".mp4",
|
||||
".mpg",
|
||||
".mpeg",
|
||||
".mts",
|
||||
".ogg",
|
||||
".ogm",
|
||||
".ogv",
|
||||
".rec",
|
||||
".ts",
|
||||
".rmvb",
|
||||
".vob",
|
||||
".webm",
|
||||
".wmv",
|
||||
".wtv",
|
||||
}.ToFrozenSet(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
/// <summary>
|
||||
/// Used for extensions not in <see cref="Model.MimeTypes"/> or to override them.
|
||||
/// </summary>
|
||||
private static readonly FrozenDictionary<string, string> _mimeTypeLookup = new KeyValuePair<string, string>[]
|
||||
{
|
||||
// Type application
|
||||
new(".azw3", "application/vnd.amazon.ebook"),
|
||||
new(".cb7", "application/x-cb7"),
|
||||
new(".cba", "application/x-cba"),
|
||||
new(".cbr", "application/vnd.comicbook-rar"),
|
||||
new(".cbt", "application/x-cbt"),
|
||||
new(".cbz", "application/vnd.comicbook+zip"),
|
||||
/// <summary>
|
||||
/// Used for extensions not in <see cref="Model.MimeTypes"/> or to override them.
|
||||
/// </summary>
|
||||
private static readonly FrozenDictionary<string, string> _mimeTypeLookup = new KeyValuePair<string, string>[]
|
||||
{
|
||||
// Type application
|
||||
new(".azw3", "application/vnd.amazon.ebook"),
|
||||
new(".cb7", "application/x-cb7"),
|
||||
new(".cba", "application/x-cba"),
|
||||
new(".cbr", "application/vnd.comicbook-rar"),
|
||||
new(".cbt", "application/x-cbt"),
|
||||
new(".cbz", "application/vnd.comicbook+zip"),
|
||||
|
||||
// Type image
|
||||
new(".tbn", "image/jpeg"),
|
||||
// Type image
|
||||
new(".tbn", "image/jpeg"),
|
||||
|
||||
// Type text
|
||||
new(".ass", "text/x-ssa"),
|
||||
new(".ssa", "text/x-ssa"),
|
||||
new(".edl", "text/plain"),
|
||||
new(".html", "text/html; charset=UTF-8"),
|
||||
new(".htm", "text/html; charset=UTF-8"),
|
||||
// Type text
|
||||
new(".ass", "text/x-ssa"),
|
||||
new(".ssa", "text/x-ssa"),
|
||||
new(".edl", "text/plain"),
|
||||
new(".html", "text/html; charset=UTF-8"),
|
||||
new(".htm", "text/html; charset=UTF-8"),
|
||||
|
||||
// Type video
|
||||
new(".mpegts", "video/mp2t"),
|
||||
// Type video
|
||||
new(".mpegts", "video/mp2t"),
|
||||
|
||||
// Type audio
|
||||
new(".aac", "audio/aac"),
|
||||
new(".ac3", "audio/ac3"),
|
||||
new(".ape", "audio/x-ape"),
|
||||
new(".dsf", "audio/dsf"),
|
||||
new(".dsp", "audio/dsp"),
|
||||
new(".flac", "audio/flac"),
|
||||
new(".m4b", "audio/mp4"),
|
||||
new(".mp3", "audio/mpeg"),
|
||||
new(".vorbis", "audio/vorbis"),
|
||||
new(".webma", "audio/webm"),
|
||||
new(".wv", "audio/x-wavpack"),
|
||||
new(".xsp", "audio/xsp"),
|
||||
}.ToFrozenDictionary(pair => pair.Key, pair => pair.Value, StringComparer.OrdinalIgnoreCase);
|
||||
// Type audio
|
||||
new(".aac", "audio/aac"),
|
||||
new(".ac3", "audio/ac3"),
|
||||
new(".ape", "audio/x-ape"),
|
||||
new(".dsf", "audio/dsf"),
|
||||
new(".dsp", "audio/dsp"),
|
||||
new(".flac", "audio/flac"),
|
||||
new(".m4b", "audio/mp4"),
|
||||
new(".mp3", "audio/mpeg"),
|
||||
new(".vorbis", "audio/vorbis"),
|
||||
new(".webma", "audio/webm"),
|
||||
new(".wv", "audio/x-wavpack"),
|
||||
new(".xsp", "audio/xsp"),
|
||||
}.ToFrozenDictionary(pair => pair.Key, pair => pair.Value, StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
private static readonly FrozenDictionary<string, string> _extensionLookup = new KeyValuePair<string, string>[]
|
||||
{
|
||||
// Type application
|
||||
new("application/vnd.comicbook-rar", ".cbr"),
|
||||
new("application/vnd.comicbook+zip", ".cbz"),
|
||||
new("application/x-cb7", ".cb7"),
|
||||
new("application/x-cba", ".cba"),
|
||||
new("application/x-cbr", ".cbr"),
|
||||
new("application/x-cbt", ".cbt"),
|
||||
new("application/x-cbz", ".cbz"),
|
||||
new("application/x-javascript", ".js"),
|
||||
new("application/xml", ".xml"),
|
||||
new("application/x-mpegURL", ".m3u8"),
|
||||
private static readonly FrozenDictionary<string, string> _extensionLookup = new KeyValuePair<string, string>[]
|
||||
{
|
||||
// Type application
|
||||
new("application/vnd.comicbook-rar", ".cbr"),
|
||||
new("application/vnd.comicbook+zip", ".cbz"),
|
||||
new("application/x-cb7", ".cb7"),
|
||||
new("application/x-cba", ".cba"),
|
||||
new("application/x-cbr", ".cbr"),
|
||||
new("application/x-cbt", ".cbt"),
|
||||
new("application/x-cbz", ".cbz"),
|
||||
new("application/x-javascript", ".js"),
|
||||
new("application/xml", ".xml"),
|
||||
new("application/x-mpegURL", ".m3u8"),
|
||||
|
||||
// Type audio
|
||||
new("audio/aac", ".aac"),
|
||||
new("audio/ac3", ".ac3"),
|
||||
new("audio/dsf", ".dsf"),
|
||||
new("audio/dsp", ".dsp"),
|
||||
new("audio/flac", ".flac"),
|
||||
new("audio/m4b", ".m4b"),
|
||||
new("audio/vorbis", ".vorbis"),
|
||||
new("audio/x-ape", ".ape"),
|
||||
new("audio/xsp", ".xsp"),
|
||||
new("audio/x-aac", ".aac"),
|
||||
new("audio/x-wavpack", ".wv"),
|
||||
// Type audio
|
||||
new("audio/aac", ".aac"),
|
||||
new("audio/ac3", ".ac3"),
|
||||
new("audio/dsf", ".dsf"),
|
||||
new("audio/dsp", ".dsp"),
|
||||
new("audio/flac", ".flac"),
|
||||
new("audio/m4b", ".m4b"),
|
||||
new("audio/vorbis", ".vorbis"),
|
||||
new("audio/x-ape", ".ape"),
|
||||
new("audio/xsp", ".xsp"),
|
||||
new("audio/x-aac", ".aac"),
|
||||
new("audio/x-wavpack", ".wv"),
|
||||
|
||||
// Type image
|
||||
new("image/jpeg", ".jpg"),
|
||||
new("image/tiff", ".tiff"),
|
||||
new("image/x-png", ".png"),
|
||||
new("image/x-icon", ".ico"),
|
||||
// Type image
|
||||
new("image/jpeg", ".jpg"),
|
||||
new("image/tiff", ".tiff"),
|
||||
new("image/x-png", ".png"),
|
||||
new("image/x-icon", ".ico"),
|
||||
|
||||
// Type text
|
||||
new("text/plain", ".txt"),
|
||||
new("text/rtf", ".rtf"),
|
||||
new("text/x-ssa", ".ssa"),
|
||||
// Type text
|
||||
new("text/plain", ".txt"),
|
||||
new("text/rtf", ".rtf"),
|
||||
new("text/x-ssa", ".ssa"),
|
||||
|
||||
// Type video
|
||||
new("video/vnd.mpeg.dash.mpd", ".mpd"),
|
||||
new("video/x-matroska", ".mkv"),
|
||||
}.ToFrozenDictionary(pair => pair.Key, pair => pair.Value, StringComparer.OrdinalIgnoreCase);
|
||||
// Type video
|
||||
new("video/vnd.mpeg.dash.mpd", ".mpd"),
|
||||
new("video/x-matroska", ".mkv"),
|
||||
}.ToFrozenDictionary(pair => pair.Key, pair => pair.Value, StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
public static string GetMimeType(string path) => GetMimeType(path, MediaTypeNames.Application.Octet);
|
||||
public static string GetMimeType(string path) => GetMimeType(path, MediaTypeNames.Application.Octet);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the type of the MIME.
|
||||
/// </summary>
|
||||
/// <param name="filename">The filename to find the MIME type of.</param>
|
||||
/// <param name="defaultValue">The default value to return if no fitting MIME type is found.</param>
|
||||
/// <returns>The correct MIME type for the given filename, or <paramref name="defaultValue"/> if it wasn't found.</returns>
|
||||
[return: NotNullIfNotNull("defaultValue")]
|
||||
public static string? GetMimeType(string filename, string? defaultValue = null)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrEmpty(filename);
|
||||
/// <summary>
|
||||
/// Gets the type of the MIME.
|
||||
/// </summary>
|
||||
/// <param name="filename">The filename to find the MIME type of.</param>
|
||||
/// <param name="defaultValue">The default value to return if no fitting MIME type is found.</param>
|
||||
/// <returns>The correct MIME type for the given filename, or <paramref name="defaultValue"/> if it wasn't found.</returns>
|
||||
[return: NotNullIfNotNull("defaultValue")]
|
||||
public static string? GetMimeType(string filename, string? defaultValue = null)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrEmpty(filename);
|
||||
|
||||
var ext = Path.GetExtension(filename);
|
||||
var ext = Path.GetExtension(filename);
|
||||
|
||||
if (_mimeTypeLookup.TryGetValue(ext, out string? result))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
if (_mimeTypeLookup.TryGetValue(ext, out string? result))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
if (Model.MimeTypes.TryGetMimeType(filename, out var mimeType))
|
||||
{
|
||||
return mimeType;
|
||||
}
|
||||
if (Model.MimeTypes.TryGetMimeType(filename, out var mimeType))
|
||||
{
|
||||
return mimeType;
|
||||
}
|
||||
|
||||
// Catch-all for all video types that don't require specific mime types
|
||||
if (_videoFileExtensions.Contains(ext))
|
||||
{
|
||||
return string.Concat("video/", ext.AsSpan(1));
|
||||
}
|
||||
// Catch-all for all video types that don't require specific mime types
|
||||
if (_videoFileExtensions.Contains(ext))
|
||||
{
|
||||
return string.Concat("video/", ext.AsSpan(1));
|
||||
}
|
||||
|
||||
return defaultValue;
|
||||
}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
public static string? ToExtension(string mimeType)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrEmpty(mimeType);
|
||||
public static string? ToExtension(string mimeType)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrEmpty(mimeType);
|
||||
|
||||
// handle text/html; charset=UTF-8
|
||||
mimeType = mimeType.AsSpan().LeftPart(';').ToString();
|
||||
// handle text/html; charset=UTF-8
|
||||
mimeType = mimeType.AsSpan().LeftPart(';').ToString();
|
||||
|
||||
if (_extensionLookup.TryGetValue(mimeType, out string? result))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
if (_extensionLookup.TryGetValue(mimeType, out string? result))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
var extension = Model.MimeTypes.GetMimeTypeExtensions(mimeType).FirstOrDefault();
|
||||
return string.IsNullOrEmpty(extension) ? null : "." + extension;
|
||||
}
|
||||
var extension = Model.MimeTypes.GetMimeTypeExtensions(mimeType).FirstOrDefault();
|
||||
return string.IsNullOrEmpty(extension) ? null : "." + extension;
|
||||
}
|
||||
|
||||
public static bool IsImage(ReadOnlySpan<char> mimeType)
|
||||
=> mimeType.StartsWith("image/", StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
}
|
||||
public static bool IsImage(ReadOnlySpan<char> mimeType)
|
||||
=> mimeType.StartsWith("image/", StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user