public void Init() { string parent = @"(\{[A-Za-z0-9]+\})"; int index = 0; if (UrlIgnoreCase) { Url = Url.ToLower(); Rewrite = Rewrite.ToLower(); } for (int i = 0; i < Url.Length; i++) { if (Url[i] == '/') { index = i; } else if (Url[i] == '{') { break; } } Path = Url.Substring(0, index + 1); Valid = Regex.IsMatch(Url, parent); ID = Path.GetHashCode(); ReExt = HttpParse.GetBaseUrlExt(Rewrite); TemplateMatch = new RouteTemplateMatch(Url, Path.Length); }
public void Init() { string parent = @"(\{[A-Za-z0-9]+\})"; int index = 0; if (UrlIgnoreCase) { Url = Url.ToLower(); if (!string.IsNullOrEmpty(Rewrite)) { Rewrite = Rewrite.ToLower(); } } for (int i = 0; i < Url.Length; i++) { if (Url[i] == '/') { index = i; } else if (Url[i] == '{') { break; } } Path = Url.Substring(0, index + 1); Valid = Regex.IsMatch(Url, parent); ID = GetPathID(Path); TemplateMatch = new RouteTemplateMatch(Url, Path.Length); if (!string.IsNullOrEmpty(Rewrite)) { ReExt = HttpParse.GetBaseUrlExt(Rewrite); HasRewriteParamters = Rewrite.IndexOf("{") >= 0; } }
public void Init() { string parent = @"(\{[A-Za-z0-9]+\})"; int index = 0; if (UrlIgnoreCase) { Url = Url.ToLower(); if (!string.IsNullOrEmpty(Rewrite)) { Rewrite = Rewrite.ToLower(); } } for (int i = 0; i < Url.Length; i++) { if (Url[i] == '/') { index = i; PathLevel++; } else if (Url[i] == '?') { HasQueryString = true; break; } } if (!string.IsNullOrEmpty(Host)) { this.Prefix = new UrlPrefix(Host); } // if (this.Prefix == null) Path = $"{Url.Substring(0, index + 1)}"; ID = $"{Host}{Path}"; //else // Path = $"{this.Prefix.Value}{Url.Substring(0, index + 1)}"; Valid = Regex.IsMatch(Url, parent); //TemplateMatch = new RouteTemplateMatch(Url, Path.Length); TemplateMatch = new RouteTemplateMatch(Url, 0); if (!string.IsNullOrEmpty(Rewrite)) { ReExt = HttpParse.GetBaseUrlExt(Rewrite); HasRewriteParamters = Rewrite.IndexOf("{") >= 0; } }
private void LoadMethod(PipeStream stream) { string line; if (mState == LoadedState.None) { if (stream.TryReadLine(out line)) { Tuple <string, string, string> result = HttpParse.AnalyzeRequestLine(line); Method = result.Item1; Url = result.Item2; BaseUrl = HttpParse.GetBaseUrl(Url); Ext = HttpParse.GetBaseUrlExt(BaseUrl); HttpVersion = result.Item3; HttpParse.AnalyzeQueryString(Url, mQueryString); mState = LoadedState.Method; } } }
private void LoadMethod(PipeStream stream) { if (mState == LoadedState.None) { IndexOfResult index = stream.IndexOf(HeaderType.LINE_BYTES); if (index.End != null) { ReadOnlySpan <Char> line = HttpParse.ReadCharLine(index); stream.ReadFree(index.Length); Tuple <string, string, string> result = HttpParse.AnalyzeRequestLine(line); Method = result.Item1; Url = result.Item2; BaseUrl = HttpParse.GetBaseUrlToLower(Url); Ext = HttpParse.GetBaseUrlExt(BaseUrl); HttpVersion = result.Item3; HttpParse.AnalyzeQueryString(Url, mQueryString); mState = LoadedState.Method; } } }