From 27047c35a43bf0437d6f215b92485c45b4b355c6 Mon Sep 17 00:00:00 2001 From: Cody Robibero Date: Tue, 23 Sep 2025 07:00:34 -0600 Subject: Add schema to 503 headers (#14840) --- .../Filters/RetryOnTemporarilyUnavailableFilter.cs | 53 ++++++++++++++-------- 1 file changed, 34 insertions(+), 19 deletions(-) (limited to 'Jellyfin.Server/Filters') diff --git a/Jellyfin.Server/Filters/RetryOnTemporarilyUnavailableFilter.cs b/Jellyfin.Server/Filters/RetryOnTemporarilyUnavailableFilter.cs index fef5577a1..08caac0d3 100644 --- a/Jellyfin.Server/Filters/RetryOnTemporarilyUnavailableFilter.cs +++ b/Jellyfin.Server/Filters/RetryOnTemporarilyUnavailableFilter.cs @@ -1,6 +1,4 @@ -using System; using System.Collections.Generic; -using System.Net.Http.Headers; using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen; @@ -10,27 +8,44 @@ internal class RetryOnTemporarilyUnavailableFilter : IOperationFilter { public void Apply(OpenApiOperation operation, OperationFilterContext context) { - operation.Responses.Add("503", new OpenApiResponse() - { - Description = "The server is currently starting or is temporarily not available.", - Headers = new Dictionary() + operation.Responses.Add( + "503", + new OpenApiResponse { + Description = "The server is currently starting or is temporarily not available.", + Headers = new Dictionary { - "Retry-After", - new() { AllowEmptyValue = true, Required = false, Description = "A hint for when to retry the operation in full seconds." } + { + "Retry-After", new OpenApiHeader + { + AllowEmptyValue = true, + Required = false, + Description = "A hint for when to retry the operation in full seconds.", + Schema = new OpenApiSchema + { + Type = "integer", + Format = "int32" + } + } + }, + { + "Message", new OpenApiHeader + { + AllowEmptyValue = true, + Required = false, + Description = "A short plain-text reason why the server is not available.", + Schema = new OpenApiSchema + { + Type = "string", + Format = "text" + } + } + } }, + Content = new Dictionary() { - "Message", - new() { AllowEmptyValue = true, Required = false, Description = "A short plain-text reason why the server is not available." } + { "text/html", new OpenApiMediaType() } } - }, - Content = new Dictionary() - { - { - "text/html", - new OpenApiMediaType() - } - } - }); + }); } } -- cgit v1.2.3