From 11f74a13ea20fcaae0729e50b6adb5016fcbd5f1 Mon Sep 17 00:00:00 2001 From: KevinZonda <33132228+KevinZonda@users.noreply.github.com> Date: Sat, 20 Jun 2020 03:15:22 +0800 Subject: [PATCH] [extension] add some and some nodelist base --- NaiveSharp/Controller/Command.cs | 2 ++ NaiveSharp/Controller/Extension/String.cs | 7 ++++ NaiveSharp/Controller/Extension/String[].cs | 39 +++++++++++++++++++++ NaiveSharp/Controller/NodeList.cs | 20 ++++++++++- NaiveSharp/NaiveSharp.csproj | 1 + 5 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 NaiveSharp/Controller/Extension/String[].cs diff --git a/NaiveSharp/Controller/Command.cs b/NaiveSharp/Controller/Command.cs index 832e8f2..62bb141 100644 --- a/NaiveSharp/Controller/Command.cs +++ b/NaiveSharp/Controller/Command.cs @@ -24,6 +24,8 @@ public static void RunNaive(string proto) p.StartInfo.Arguments += " --padding"; } + // TODO: ADD EXTRA-HEADERS SUPPORT + if (Config.Debug) { p.StartInfo.Arguments += " --log"; diff --git a/NaiveSharp/Controller/Extension/String.cs b/NaiveSharp/Controller/Extension/String.cs index 07de2cd..e74b021 100644 --- a/NaiveSharp/Controller/Extension/String.cs +++ b/NaiveSharp/Controller/Extension/String.cs @@ -12,5 +12,12 @@ public static string FromBase64(this string str) public static string FromUrlEncode(this string str) => System.Web.HttpUtility.UrlDecode(str); + + public static bool StartsEndsWith(this string str, string prefix, string suffix) + => str.StartsWith(prefix) && str.EndsWith(suffix); + + public static bool StartsEndsWith(this string str, string value) + => str.StartsEndsWith(value, value); + } } \ No newline at end of file diff --git a/NaiveSharp/Controller/Extension/String[].cs b/NaiveSharp/Controller/Extension/String[].cs new file mode 100644 index 0000000..133ef9b --- /dev/null +++ b/NaiveSharp/Controller/Extension/String[].cs @@ -0,0 +1,39 @@ +using System.Collections.Generic; + +namespace NaiveSharp.Controller.Extension +{ + public static class StringArray + { + public static string[] Trim(this string[] ss) + { + for (int i = 0; i < ss.Length; --i) + { + ss[i] = ss[i].Trim(); + } + return ss; + } + + public static string[] Trim(this string[] ss, bool removeNullOrWhiteSpace) + { + if (!removeNullOrWhiteSpace) + { + return Trim(ss); + } + else + { + var x = new List(); + for (int i = 0; i < ss.Length; --i) + { + if (string.IsNullOrWhiteSpace(ss[i])) + { + continue; + } + x.Add(ss[i].Trim()); + } + return x.ToArray(); + } + + } + + } +} diff --git a/NaiveSharp/Controller/NodeList.cs b/NaiveSharp/Controller/NodeList.cs index 0bbf6e5..b15edd4 100644 --- a/NaiveSharp/Controller/NodeList.cs +++ b/NaiveSharp/Controller/NodeList.cs @@ -1,4 +1,7 @@ -namespace NaiveSharp.Controller +using System.Collections.Generic; +using System.Windows.Forms; + +namespace NaiveSharp.Controller { public class NodeList { @@ -6,5 +9,20 @@ public static void LoadFromStringArray(string[] s) { } + + public static string[] ToStringArray(TreeView tv) + { + var l = new List(); + foreach (TreeNode group in tv.Nodes) + { + l.Add($"[{group.Text}]"); + foreach (TreeNode node in group.Nodes) + { + l.Add((string)node.Tag); + } + } + return l.ToArray(); + } + } } \ No newline at end of file diff --git a/NaiveSharp/NaiveSharp.csproj b/NaiveSharp/NaiveSharp.csproj index d2c32a2..af9a48d 100644 --- a/NaiveSharp/NaiveSharp.csproj +++ b/NaiveSharp/NaiveSharp.csproj @@ -83,6 +83,7 @@ +