瀏覽代碼

Use the swagger API page as the default redirect path if not hosting the jellyfin-web content

Mark Monteiro 5 年之前
父節點
當前提交
f3be93a4de
共有 2 個文件被更改,包括 15 次插入2 次删除
  1. 7 1
      Emby.Server.Implementations/ConfigurationOptions.cs
  2. 8 1
      Jellyfin.Server/Program.cs

+ 7 - 1
Emby.Server.Implementations/ConfigurationOptions.cs

@@ -3,9 +3,15 @@ using static MediaBrowser.Controller.Extensions.ConfigurationExtensions;
 
 namespace Emby.Server.Implementations
 {
+    /// <summary>
+    /// Static class containing the default configuration options for the web server.
+    /// </summary>
     public static class ConfigurationOptions
     {
-        public static Dictionary<string, string> Configuration => new Dictionary<string, string>
+        /// <summary>
+        /// Gets the default configuration options.
+        /// </summary>
+        public static Dictionary<string, string> DefaultConfiguration => new Dictionary<string, string>
         {
             { "HttpListenerHost:DefaultRedirectPath", "web/index.html" },
             { "MusicBrainz:BaseUrl", "https://www.musicbrainz.org" },

+ 8 - 1
Jellyfin.Server/Program.cs

@@ -468,9 +468,16 @@ namespace Jellyfin.Server
                 await resource.CopyToAsync(dst).ConfigureAwait(false);
             }
 
+            // Use the swagger API page as the default redirect path if not hosting the jellyfin-web content
+            var inMemoryDefaultConfig = ConfigurationOptions.DefaultConfiguration;
+            if (string.IsNullOrEmpty(appPaths.WebPath))
+            {
+                inMemoryDefaultConfig["HttpListenerHost:DefaultRedirectPath"] = "swagger/index.html";
+            }
+
             return new ConfigurationBuilder()
                 .SetBasePath(appPaths.ConfigurationDirectoryPath)
-                .AddInMemoryCollection(ConfigurationOptions.Configuration)
+                .AddInMemoryCollection(inMemoryDefaultConfig)
                 .AddJsonFile("logging.json", false, true)
                 .AddEnvironmentVariables("JELLYFIN_")
                 .Build();