Revenj.Http.HttpSocketContext.ReadUrl C# (CSharp) Method

ReadUrl() private method

private ReadUrl ( int rowEnd, RouteHandler &handler ) : RouteMatch?
rowEnd int
handler RouteHandler
return RouteMatch?
        private RouteMatch? ReadUrl(int rowEnd, out RouteHandler handler)
        {
            var httpLen1 = HttpMethod.Length + 1;
            var charBuf = TmpCharBuf;
            var end = rowEnd - 2 - HttpProtocolVersion.Length;
            for (int x = httpLen1; x < end; x++)
            {
                var tb = InputTemp[x];
                if (tb > 250)
                {
                    RawUrl = UTF8.GetString(InputTemp, httpLen1, end - httpLen1);
                    var askSign = RawUrl.IndexOf('?');
                    var absolutePath = askSign == -1 ? RawUrl : RawUrl.Substring(0, askSign);
                    return Routes.Find(HttpMethod, RawUrl, absolutePath, out handler);
                }
                charBuf[x - httpLen1] = (char)tb;
            }
            var match = Routes.Find(HttpMethod, charBuf, end - httpLen1, out handler);
            if (match == null)
                RawUrl = new string(charBuf, 0, end - httpLen1);
            else
                RawUrl = match.Value.RawUrl;
            return match;
        }