diff --git a/src/Umbraco.Web/HealthCheck/Checks/Security/UmbracoApplicationUrlCheck.cs b/src/Umbraco.Web/HealthCheck/Checks/Security/UmbracoApplicationUrlCheck.cs deleted file mode 100644 index bc14f43235..0000000000 --- a/src/Umbraco.Web/HealthCheck/Checks/Security/UmbracoApplicationUrlCheck.cs +++ /dev/null @@ -1,109 +0,0 @@ -using System; -using System.Collections.Generic; -using Umbraco.Core; -using Umbraco.Core.Configuration.UmbracoSettings; -using Umbraco.Core.IO; -using Umbraco.Core.Services; -using Umbraco.Web.HealthCheck.Checks.Config; - -namespace Umbraco.Web.HealthCheck.Checks.Security -{ - [HealthCheck( - "6708CA45-E96E-40B8-A40A-0607C1CA7F28", - "Application URL Configuration", - Description = "Checks if the Umbraco application URL is configured for your site.", - Group = "Security")] - public class UmbracoApplicationUrlCheck : HealthCheck - { - private readonly ILocalizedTextService _textService; - private readonly IRuntimeState _runtime; - private readonly IUmbracoSettingsSection _settings; - - private const string SetApplicationUrlAction = "setApplicationUrl"; - - public UmbracoApplicationUrlCheck(ILocalizedTextService textService, IRuntimeState runtime, IUmbracoSettingsSection settings) - { - _textService = textService; - _runtime = runtime; - _settings = settings; - } - - /// - /// Executes the action and returns its status - /// - /// - /// - public override HealthCheckStatus ExecuteAction(HealthCheckAction action) - { - switch (action.Alias) - { - case SetApplicationUrlAction: - return SetUmbracoApplicationUrl(); - default: - throw new InvalidOperationException("UmbracoApplicationUrlCheck action requested is either not executable or does not exist"); - } - } - - public override IEnumerable GetStatus() - { - //return the statuses - return new[] { CheckUmbracoApplicationUrl() }; - } - - private HealthCheckStatus CheckUmbracoApplicationUrl() - { - var url = _settings.WebRouting.UmbracoApplicationUrl; - - string resultMessage; - StatusResultType resultType; - var actions = new List(); - - if (url.IsNullOrWhiteSpace()) - { - resultMessage = _textService.Localize("healthcheck", "umbracoApplicationUrlCheckResultFalse"); - resultType = StatusResultType.Warning; - - actions.Add(new HealthCheckAction(SetApplicationUrlAction, Id) - { - Name = _textService.Localize("healthcheck", "umbracoApplicationUrlConfigureButton"), - Description = _textService.Localize("healthcheck", "umbracoApplicationUrlConfigureDescription") - }); - } - else - { - resultMessage = _textService.Localize("healthcheck", "umbracoApplicationUrlCheckResultTrue", new[] { url }); - resultType = StatusResultType.Success; - } - - return new HealthCheckStatus(resultMessage) - { - ResultType = resultType, - Actions = actions - }; - } - - private HealthCheckStatus SetUmbracoApplicationUrl() - { - var configFilePath = IOHelper.MapPath("~/config/umbracoSettings.config"); - const string xPath = "/settings/web.routing/@umbracoApplicationUrl"; - var configurationService = new ConfigurationService(configFilePath, xPath, _textService); - var urlValue = _runtime.ApplicationUrl.ToString(); - var updateConfigFile = configurationService.UpdateConfigFile(urlValue); - - if (updateConfigFile.Success) - { - return - new HealthCheckStatus(_textService.Localize("healthcheck", "umbracoApplicationUrlConfigureSuccess", new[] { urlValue })) - { - ResultType = StatusResultType.Success - }; - } - - return - new HealthCheckStatus(_textService.Localize("healthcheck", "umbracoApplicationUrlConfigureError", new[] { updateConfigFile.Result })) - { - ResultType = StatusResultType.Error - }; - } - } -}