public async Task Invoke(HttpContext context) { if (context.Request != null) { var availabilityConfiguration = _availabilityManager.AvailabilityConfiguration; if (!availabilityConfiguration.Enabled) { await _next.Invoke(context); } var appEnabled = await _availabilityManager.IsApplicationEnabled(); if (!appEnabled && !availabilityConfiguration.IsAccessibleAddress(context.Request)) { context.Response.Redirect(availabilityConfiguration.GetErrorUrl(context)); } else if (_next != null) { await _next.Invoke(context); } } }