namespace SystemWebServer.HttpErrors { using System; using Microsoft.Web.Administration; #region config sections public class HttpErrorsSection : ConfigurationSection { public static string SectionName = "system.webServer/httpErrors"; public HttpErrorsSection() { } public EnumHttpErrorsErrorMode ErrorMode { get { return ((EnumHttpErrorsErrorMode)(base["errorMode"])); } set { base["errorMode"] = ((EnumHttpErrorsErrorMode)(value)); } } public EnumHttpErrorsExistingResponse ExistingResponse { get { return ((EnumHttpErrorsExistingResponse)(base["existingResponse"])); } set { base["existingResponse"] = ((EnumHttpErrorsExistingResponse)(value)); } } public string DefaultPath { get { return ((string)(base["defaultPath"])); } set { base["defaultPath"] = ((string)(value)); } } public EnumHttpErrorsDefaultResponseMode DefaultResponseMode { get { return ((EnumHttpErrorsDefaultResponseMode)(base["defaultResponseMode"])); } set { base["defaultResponseMode"] = ((EnumHttpErrorsDefaultResponseMode)(value)); } } public string DetailedMoreInformationLink { get { return ((string)(base["detailedMoreInformationLink"])); } set { base["detailedMoreInformationLink"] = ((string)(value)); } } public ErrorsCollection Errors { get { return ((ErrorsCollection)(base.GetCollection(typeof(ErrorsCollection)))); } } } #endregion #region config collections public class ErrorsCollection : ConfigurationElementCollectionBase { public ErrorsCollection() { } public ErrorsCollectionElement this[uint statusCode, int subStatusCode] { get { for (int i = 0; (i < this.Count); i = (i + 1)) { ErrorsCollectionElement element = base[i]; if (((true && (element.StatusCode == statusCode)) && (element.SubStatusCode == subStatusCode))) { return element; } } return null; } } public ErrorsCollectionElement Add(uint statusCode, int subStatusCode, string prefixLanguageFilePath, string path, EnumErrorsCollectionResponseMode responseMode) { ErrorsCollectionElement element = base.CreateElement(); element.StatusCode = statusCode; element.SubStatusCode = subStatusCode; element.PrefixLanguageFilePath = prefixLanguageFilePath; element.Path = path; element.ResponseMode = responseMode; return base.Add(element); } protected override ErrorsCollectionElement CreateNewElement(string elementTagName) { return new ErrorsCollectionElement(); } public void Remove(uint statusCode, int subStatusCode) { base.Remove(this[statusCode, subStatusCode]); } } #endregion #region config elements public class ErrorsCollectionElement : ConfigurationElement { public ErrorsCollectionElement() { } public uint StatusCode { get { return ((uint)(((long)(base["statusCode"])))); } set { base["statusCode"] = ((uint)(value)); } } public int SubStatusCode { get { return ((int)(base["subStatusCode"])); } set { base["subStatusCode"] = ((int)(value)); } } public string PrefixLanguageFilePath { get { return ((string)(base["prefixLanguageFilePath"])); } set { base["prefixLanguageFilePath"] = ((string)(value)); } } public string Path { get { return ((string)(base["path"])); } set { base["path"] = ((string)(value)); } } public EnumErrorsCollectionResponseMode ResponseMode { get { return ((EnumErrorsCollectionResponseMode)(base["responseMode"])); } set { base["responseMode"] = ((EnumErrorsCollectionResponseMode)(value)); } } } #endregion #region config enums public enum EnumErrorsCollectionResponseMode { File = 0, ExecuteURL = 1, Redirect = 2, } public enum EnumHttpErrorsDefaultResponseMode { File = 0, ExecuteURL = 1, Redirect = 2, } public enum EnumHttpErrorsErrorMode { DetailedLocalOnly = 0, Custom = 1, Detailed = 2, } public enum EnumHttpErrorsExistingResponse { Auto = 0, Replace = 1, PassThrough = 2, } #endregion }