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;
}