Ejemplo n.º 1
0
        /// <summary>
        /// Erstellt eine Statusseite
        /// </summary>
        /// <param name="statusCode">Der Statuscode</param>
        /// <returns></returns>
        private IPageStatus CreateStatusPage(int statusCode, Request request, IModuleContext moduleContext, IUri uri)
        {
            try
            {
                var culture    = Culture;
                var statusPage = null as IPageStatus;

                try
                {
                    culture = new CultureInfo(request?.HeaderFields?.AcceptLanguage?.TrimStart().Substring(0, 2).ToLower());
                }
                catch
                {
                }

                if (moduleContext != null && !string.IsNullOrWhiteSpace(moduleContext.ApplicationID))
                {
                    statusPage = ResponseManager.Create(statusCode, moduleContext?.ApplicationID);
                }

                if (statusPage == null)
                {
                    statusPage = ResponseManager.Create(statusCode, "webexpress");
                }

                if (statusPage == null)
                {
                    return(null);
                }

                statusPage.StatusCode = statusCode;

                if (statusPage is II18N i18n)
                {
                    i18n.Culture = culture;
                }

                if (statusPage is Resource res)
                {
                    res.Request = request;
                    res.Uri     = uri;
                    res.Context = moduleContext;
                }
                statusPage.Initialization();
                statusPage.Process();

                return(statusPage);
            }
            catch
            {
            }

            return(null);
        }