diff options
| author | Bond-009 <bond.009@outlook.com> | 2020-08-31 18:28:11 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-31 18:28:11 +0200 |
| commit | 95142643f6c98fe4380c63ba9b3055fd3a637466 (patch) | |
| tree | 4c7df01672b511e4c6ebba4ccf65f763ddce82ca /Emby.Server.Implementations | |
| parent | 4cc7406fe92b468f8a4257d7c40bf1e28f2a3404 (diff) | |
| parent | b37cc7bfaf51bd205d2251daf984b35bfaad98b2 (diff) | |
Merge pull request #3871 from Ullmie02/plugins-api
Allow plugins to define their own api endpoints
Diffstat (limited to 'Emby.Server.Implementations')
| -rw-r--r-- | Emby.Server.Implementations/ApplicationHost.cs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index cb63cc85ef..a2d6e2c9e1 100644 --- a/Emby.Server.Implementations/ApplicationHost.cs +++ b/Emby.Server.Implementations/ApplicationHost.cs @@ -97,6 +97,7 @@ using MediaBrowser.Providers.Plugins.TheTvdb; using MediaBrowser.Providers.Subtitles; using MediaBrowser.XbmcMetadata.Providers; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Prometheus.DotNetRuntime; @@ -1393,6 +1394,20 @@ namespace Emby.Server.Implementations _plugins = list.ToArray(); } + public IEnumerable<Assembly> GetApiPluginAssemblies() + { + var assemblies = _allConcreteTypes + .Where(i => typeof(ControllerBase).IsAssignableFrom(i)) + .Select(i => i.Assembly) + .Distinct(); + + foreach (var assembly in assemblies) + { + Logger.LogDebug("Found API endpoints in plugin {name}", assembly.FullName); + yield return assembly; + } + } + public virtual void LaunchUrl(string url) { if (!CanLaunchWebBrowser) |
