Пример #1
0
        internal static async Task <string> GetStatusOpenVPNContentAsync(PfSenseContext context)
        {
            var request  = context.CreateHttpRequestMessage(HttpMethod.Get, "status_openvpn.php");
            var response = await context.SendAsync(request);

            return(await response.Content.ReadAsStringAsync());
        }
            /// <summary>
            /// Tries parsing html that contains interface description, returning the object or null if parsing fails
            /// </summary>
            /// <param name="node"></param>
            /// <returns></returns>
            public static Interface TryParse(PfSenseContext context, HtmlNode node)
            {
                var titleH2 = node.SelectSingleNode(".//h2[@class='panel-title']");

                if (titleH2 != null)
                {
                    string h2text     = titleH2.InnerText.Trim();
                    var    namesMatch = Regex.Match(h2text, @"(\w+) Interface \((\w+), ([\w\.]+)\)");
                    if (namesMatch.Success)
                    {
                        // interface found!
                        var iface = new Interface(context);
                        iface.parseInterfaceHtml(node, namesMatch.Groups[1].Value, namesMatch.Groups[2].Value, namesMatch.Groups[3].Value);

                        return(iface);
                    }
                    else
                    {
                        return(null);
                    }
                }
                else
                {
                    return(null);
                }
            }
Пример #3
0
 internal StatusOpenVPN(PfSenseContext context, string htmlContent)
 {
     this.context = context;
     parseHtmlContent(htmlContent);
 }
Пример #4
0
 internal SystemGateways(PfSenseContext context, string htmlBody)
 {
     this.context = context;
     parsePageContent(htmlBody);
 }
 private Interface(PfSenseContext context)
 {
     this.context = context;
 }
 internal StatusInterfaces(PfSenseContext context, string htmlBody)
 {
     this.context = context;
     parsePageContent(htmlBody);
 }