public void On(string[] methods, string pattern, ControllerFunc controller) { pattern = Regex.Replace(pattern, @":(\w+)", @"(?<$1>\w+)"); pattern = pattern.Replace("*", ".*"); pattern = pattern.TrimEnd('/'); foreach (var method in methods) _routes.Add(new Route(method.ToUpper(), pattern, controller)); }
public void All(string pattern, ControllerFunc controller) { this.On(new string[] { "get", "post" }, pattern, controller); }
public void Post(string pattern, ControllerFunc controller) { this.On(new string[] { "post" }, pattern, controller); }
/// <summary> /// New route /// </summary> /// <param name="method"></param> /// <param name="pattern"></param> /// <param name="controller"></param> public Route(string method, string pattern, ControllerFunc controller) : this(method, new Regex("^" + pattern + "$", RegexOptions.Compiled), controller) { }
/// <summary> /// New route /// </summary> /// <param name="method"></param> /// <param name="pattern"></param> /// <param name="controller"></param> public Route(string method, Regex pattern, ControllerFunc controller) { this.Method = method; this.Pattern = pattern; this.Controller = controller; }