diff options
Diffstat (limited to 'Emby.Server.Implementations/Browser/BrowserLauncher.cs')
| -rw-r--r-- | Emby.Server.Implementations/Browser/BrowserLauncher.cs | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/Emby.Server.Implementations/Browser/BrowserLauncher.cs b/Emby.Server.Implementations/Browser/BrowserLauncher.cs index f5da0d018..7f7c6a0be 100644 --- a/Emby.Server.Implementations/Browser/BrowserLauncher.cs +++ b/Emby.Server.Implementations/Browser/BrowserLauncher.cs @@ -1,51 +1,48 @@ using System; using MediaBrowser.Controller; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.Browser { /// <summary> - /// Class BrowserLauncher. + /// Assists in opening application URLs in an external browser. /// </summary> public static class BrowserLauncher { /// <summary> - /// Opens the dashboard page. + /// Opens the home page of the web client. /// </summary> - /// <param name="page">The page.</param> /// <param name="appHost">The app host.</param> - private static void OpenDashboardPage(string page, IServerApplicationHost appHost) + public static void OpenWebApp(IServerApplicationHost appHost) { - var url = appHost.GetLocalApiUrl("localhost") + "/web/" + page; - - OpenUrl(appHost, url); + TryOpenUrl(appHost, "/web/index.html"); } /// <summary> - /// Opens the web client. + /// Opens the swagger API page. /// </summary> /// <param name="appHost">The app host.</param> - public static void OpenWebApp(IServerApplicationHost appHost) + public static void OpenSwaggerPage(IServerApplicationHost appHost) { - OpenDashboardPage("index.html", appHost); + TryOpenUrl(appHost, "/swagger/index.html"); } /// <summary> - /// Opens the URL. + /// Opens the specified URL in an external browser window. Any exceptions will be logged, but ignored. /// </summary> - /// <param name="appHost">The application host instance.</param> - /// <param name="url">The URL.</param> - private static void OpenUrl(IServerApplicationHost appHost, string url) + /// <param name="appHost">The application host.</param> + /// <param name="relativeUrl">The URL to open, relative to the server base URL.</param> + private static void TryOpenUrl(IServerApplicationHost appHost, string relativeUrl) { try { - appHost.LaunchUrl(url); - } - catch (NotSupportedException) - { - + string baseUrl = appHost.GetLocalApiUrl("localhost"); + appHost.LaunchUrl(baseUrl + relativeUrl); } - catch (Exception) + catch (Exception ex) { + var logger = appHost.Resolve<ILogger>(); + logger?.LogError(ex, "Failed to open browser window with URL {URL}", relativeUrl); } } } |
