public static string[] Split(string input, string pattern, RegexOptions options) { return(TimeoutTask.Run(() => { return Regex.Split(input, pattern, options); })); }
public static IList <Match> Matches(string input, string pattern, RegexOptions options) { return(TimeoutTask.Run(() => { return Regex.Matches(input, pattern, options).Cast <Match>().ToList().AsReadOnly(); })); }
public static bool IsMatch(string input, string pattern) { return(TimeoutTask.Run(() => { return Regex.IsMatch(input, pattern); })); }
public static Match Match(string input, string pattern, RegexOptions options) { return(TimeoutTask.Run(() => { return Regex.Match(input, pattern, options); })); }
private IEnumerator LoadTextAsync(WebPostTask task) { int timeout = 60; TimeoutTask timeoutTask = new TimeoutTask((float)timeout, delegate() { if (task != null && task.IsRunning) { FMLogger.vCore("LoadTextAsync timeout"); task.Result(false, null); } }); timeoutTask.Run(); for (int i = 0; i < task.BaseUrls.Length; i++) { using (UnityWebRequest www = UnityWebRequest.Post(task.BaseUrls[i] + task.RelativeUrl, task.Data)) { yield return(www.Send()); if (task == null || !task.IsRunning) { yield break; } if (!www.isNetworkError && www.responseCode == 200L) { string text = www.downloadHandler.text; if (!string.IsNullOrEmpty(text)) { timeoutTask.Cancel(); task.Result(true, text); } else { timeoutTask.Cancel(); task.Result(false, null); } this.SendConnectionResume(); yield break; } } } if (task.IsRunning) { timeoutTask.Cancel(); task.Result(false, null); } this.SendConnectionError(); yield break; }