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); } }
internal StatusOpenVPN(PfSenseContext context, string htmlContent) { this.context = context; parseHtmlContent(htmlContent); }
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); }