aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Api/Attributes
diff options
context:
space:
mode:
Diffstat (limited to 'Jellyfin.Api/Attributes')
-rw-r--r--Jellyfin.Api/Attributes/DlnaEnabledAttribute.cs25
-rw-r--r--Jellyfin.Api/Attributes/HttpSubscribeAttribute.cs7
-rw-r--r--Jellyfin.Api/Attributes/HttpUnsubscribeAttribute.cs7
3 files changed, 27 insertions, 12 deletions
diff --git a/Jellyfin.Api/Attributes/DlnaEnabledAttribute.cs b/Jellyfin.Api/Attributes/DlnaEnabledAttribute.cs
new file mode 100644
index 000000000..d3a6ac9c8
--- /dev/null
+++ b/Jellyfin.Api/Attributes/DlnaEnabledAttribute.cs
@@ -0,0 +1,25 @@
+using Emby.Dlna;
+using MediaBrowser.Controller.Configuration;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.Filters;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace Jellyfin.Api.Attributes;
+
+/// <inheritdoc />
+public sealed class DlnaEnabledAttribute : ActionFilterAttribute
+{
+ /// <inheritdoc />
+ public override void OnActionExecuting(ActionExecutingContext context)
+ {
+ var serverConfigurationManager = context.HttpContext.RequestServices.GetRequiredService<IServerConfigurationManager>();
+
+ var enabled = serverConfigurationManager.GetDlnaConfiguration().EnableServer;
+
+ if (!enabled)
+ {
+ context.Result = new StatusCodeResult(StatusCodes.Status503ServiceUnavailable);
+ }
+ }
+}
diff --git a/Jellyfin.Api/Attributes/HttpSubscribeAttribute.cs b/Jellyfin.Api/Attributes/HttpSubscribeAttribute.cs
index af8727552..7ac089a34 100644
--- a/Jellyfin.Api/Attributes/HttpSubscribeAttribute.cs
+++ b/Jellyfin.Api/Attributes/HttpSubscribeAttribute.cs
@@ -25,11 +25,6 @@ namespace Jellyfin.Api.Attributes
/// <param name="template">The route template. May not be null.</param>
public HttpSubscribeAttribute(string template)
: base(_supportedMethods, template)
- {
- if (template == null)
- {
- throw new ArgumentNullException(nameof(template));
- }
- }
+ => ArgumentNullException.ThrowIfNull(template, nameof(template));
}
}
diff --git a/Jellyfin.Api/Attributes/HttpUnsubscribeAttribute.cs b/Jellyfin.Api/Attributes/HttpUnsubscribeAttribute.cs
index 1c0b70e71..16b3d0816 100644
--- a/Jellyfin.Api/Attributes/HttpUnsubscribeAttribute.cs
+++ b/Jellyfin.Api/Attributes/HttpUnsubscribeAttribute.cs
@@ -25,11 +25,6 @@ namespace Jellyfin.Api.Attributes
/// <param name="template">The route template. May not be null.</param>
public HttpUnsubscribeAttribute(string template)
: base(_supportedMethods, template)
- {
- if (template == null)
- {
- throw new ArgumentNullException(nameof(template));
- }
- }
+ => ArgumentNullException.ThrowIfNull(template, nameof(template));
}
}