public XmlFirewall(XElement xElement, string pEnvironment, string pHost, string pDomain) { Name = xElement.Attribute("name")?.Value; AdminState = xElement.Element("mAdminState")?.Value == "enabled"; LocalAddress = xElement.Element("LocalAddress")?.Value; Summary = xElement.Element("UserSummary")?.Value; Priority = xElement.Element("Priority")?.Value; LocalPort = Convert.ToInt32(xElement.Element("LocalPort")?.Value); HTTPTimeout = Convert.ToInt32(xElement.Element("HTTPTimeout")?.Value); DoHostRewrite = xElement.Element("DoHostRewrite")?.Value == "on"; HTTPCompression = xElement.Element("HTTPCompression")?.Value == "on"; HTTPPersistentConnections = xElement.Element("HTTPPersistentConnections")?.Value == "on"; HTTPPersistTimeout = Convert.ToInt32(xElement.Element("HTTPPersistTimeout")?.Value); Probe = xElement.Element("DebugMode")?.Value; Type = xElement.Element("Type")?.Value; XMLManager = xElement.Element("XMLManager")?.Value; StylePolicy = xElement.Element("StylePolicy")?.Value; RequestType = xElement.Element("RequestType")?.Value; ResponseType = xElement.Element("ResponseType")?.Value; CredentialCharset = xElement.Element("CredentialCharset")?.Value; SSLConfigType = xElement.Element("SSLConfigType")?.Value; OpState = new OpStatus(); Dns = new DnsStaticHostStatus(); Environment = pEnvironment; Host = pHost; Domain = pDomain; SSLServer = xElement.Element("SSLServer")?.Value; SSLClient = xElement.Element("SSLClient")?.Value; HTTPVersion = xElement.Elements("HTTPVersion").Select(version => new HttpVersion { Front = version.Element("Front").Value, Back = version.Element("Back").Value, }).ToList(); }
public FrontSideHandler(XElement xElement, string pEnvironment, string pHost, string pDomain, string protocol) { Name = xElement.Attribute("name")?.Value; Class = protocol; AdminState = xElement.Element("mAdminState")?.Value == "enabled"; LocalAddress = xElement.Element("LocalAddress")?.Value; LocalPort = Convert.ToInt32(xElement.Element("LocalPort")?.Value); HTTPVersion = xElement.Element("HTTPVersion")?.Value; AllowCompression = xElement.Element("AllowCompression")?.Value == "on"; MaxURLLen = Convert.ToInt32(xElement.Element("MaxURLLen")?.Value); AccessControlList = xElement.Element("ACL")?.Value; SSLServerConfigType = xElement.Element("SSLServerConfigType")?.Value; SSLServerProfile = xElement.Element("SSLServer")?.Value; AllowedFeatures = xElement.Elements("AllowedFeatures").Select(features => new AllowedFeatures { Http_10 = features.Element("HTTP-1.0")?.Value == "on", Http_11 = features.Element("HTTP-1.1")?.Value == "on", Http_20 = features.Element("HTTP-2.0")?.Value == "on", Post = features.Element("POST")?.Value == "on", Get = features.Element("GET")?.Value == "on", Put = features.Element("PUT")?.Value == "on", Head = features.Element("HEAD")?.Value == "on", Options = features.Element("OPTIONS")?.Value == "on", Trace = features.Element("TRACE")?.Value == "on", Delete = features.Element("DELETE")?.Value == "on", Connect = features.Element("CONNECT")?.Value == "on", QueryString = features.Element("QueryString")?.Value == "on", CmdExe = features.Element("CmdExe")?.Value == "on", }).ToList(); OpState = new OpStatus(); Environment = pEnvironment; Host = pHost; Domain = pDomain; Dns = new DnsStaticHostStatus(); }