Fixes Return 503 status code when in upgrade mode #6334

This commit is contained in:
Shannon
2019-10-01 17:53:41 +02:00
committed by Sebastiaan Janssen
parent 29383f37e7
commit 62ee1899ad
4 changed files with 29 additions and 0 deletions

View File

@@ -145,6 +145,7 @@ namespace Umbraco.Web.Editors
/// </summary>
/// <returns></returns>
[HttpGet]
[StatusCodeResult(System.Net.HttpStatusCode.ServiceUnavailable)]
public async Task<ActionResult> AuthorizeUpgrade()
{
return await RenderDefaultOrProcessExternalLoginAsync(

View File

@@ -6,6 +6,7 @@ using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Migrations.Install;
using Umbraco.Web.JavaScript;
using Umbraco.Web.Mvc;
using Umbraco.Web.Security;
namespace Umbraco.Web.Install.Controllers
@@ -35,6 +36,7 @@ namespace Umbraco.Web.Install.Controllers
}
[HttpGet]
[StatusCodeResult(System.Net.HttpStatusCode.ServiceUnavailable)]
public ActionResult Index()
{
if (_runtime.Level == RuntimeLevel.Run)

View File

@@ -0,0 +1,25 @@
using System.Net;
using System.Web.Mvc;
namespace Umbraco.Web.Mvc
{
/// <summary>
/// Forces the response to have a specific http status code
/// </summary>
internal class StatusCodeResultAttribute : ActionFilterAttribute
{
private readonly HttpStatusCode _statusCode;
public StatusCodeResultAttribute(HttpStatusCode statusCode)
{
_statusCode = statusCode;
}
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
base.OnActionExecuted(filterContext);
filterContext.HttpContext.Response.StatusCode = (int)_statusCode;
}
}
}

View File

@@ -222,6 +222,7 @@
<Compile Include="Models\TemplateQuery\QueryConditionExtensions.cs" />
<Compile Include="Mvc\HttpUmbracoFormRouteStringException.cs" />
<Compile Include="Mvc\ModelBindingExceptionFilter.cs" />
<Compile Include="Mvc\StatusCodeFilterAttribute.cs" />
<Compile Include="Mvc\SurfaceControllerTypeCollectionBuilder.cs" />
<Compile Include="Mvc\ValidateUmbracoFormRouteStringAttribute.cs" />
<Compile Include="Profiling\WebProfilingController.cs" />