コード例 #1
0
        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);
                }
            }
        }