diff options
| author | JPVenson <github@jpb.software> | 2025-03-24 08:27:21 +0000 |
|---|---|---|
| committer | JPVenson <github@jpb.software> | 2025-03-24 08:27:21 +0000 |
| commit | aa4936c59c3307dd14af193933a44d33f738c9ce (patch) | |
| tree | bcb581389751a2a73ff2f7529d655d9bfbf19bec /Jellyfin.Server/Filters | |
| parent | 671d801d9f734665d0acbd441246712ad2e3d91f (diff) | |
Added OpenAPI spec for #12880
Diffstat (limited to 'Jellyfin.Server/Filters')
| -rw-r--r-- | Jellyfin.Server/Filters/RetryOnTemporarlyUnavailableFilter.cs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Jellyfin.Server/Filters/RetryOnTemporarlyUnavailableFilter.cs b/Jellyfin.Server/Filters/RetryOnTemporarlyUnavailableFilter.cs new file mode 100644 index 000000000..bd572df9b --- /dev/null +++ b/Jellyfin.Server/Filters/RetryOnTemporarlyUnavailableFilter.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Net.Http.Headers; +using Microsoft.OpenApi.Models; +using Swashbuckle.AspNetCore.SwaggerGen; + +namespace Jellyfin.Server.Filters; + +internal class RetryOnTemporarlyUnavailableFilter : IOperationFilter +{ + public void Apply(OpenApiOperation operation, OperationFilterContext context) + { + operation.Responses.Add("503", new OpenApiResponse() + { + Description = "The server is currently starting or is temporarly not available.", + Headers = new Dictionary<string, OpenApiHeader>() + { + { + "retry-after", + new() { AllowEmptyValue = true, Required = false, Description = "A hint for when to retry the operation." } + }, + { + "message", + new() { AllowEmptyValue = true, Required = false, Description = "A short plain-text reason why the server is not available." } + } + }, + Content = new Dictionary<string, OpenApiMediaType>() + { + { + "text/html", + new OpenApiMediaType() + } + } + }); + } +} |
