From 4324b130683d5806ed6fd0e29a52f7d2da45a7dd Mon Sep 17 00:00:00 2001 From: Ben Adams Date: Fri, 19 Apr 2019 04:33:08 +0100 Subject: [PATCH 1/2] UriHelper use Ordinal string.IndexOf --- src/Http/Http.Extensions/src/UriHelper.cs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/Http/Http.Extensions/src/UriHelper.cs b/src/Http/Http.Extensions/src/UriHelper.cs index a6b5846a7d24..63aff8ba25c1 100644 --- a/src/Http/Http.Extensions/src/UriHelper.cs +++ b/src/Http/Http.Extensions/src/UriHelper.cs @@ -11,9 +11,9 @@ namespace Microsoft.AspNetCore.Http.Extensions /// public static class UriHelper { - private const string ForwardSlash = "/"; - private const string Pound = "#"; - private const string QuestionMark = "?"; + private const char ForwardSlash = '/'; + private const char Pound = '#'; + private const char QuestionMark = '?'; private const string SchemeDelimiter = "://"; /// @@ -103,7 +103,7 @@ public static void FromAbsolute( path = new PathString(); query = new QueryString(); fragment = new FragmentString(); - var startIndex = uri.IndexOf(SchemeDelimiter); + var startIndex = uri.IndexOf(SchemeDelimiter, StringComparison.Ordinal); if (startIndex < 0) { @@ -115,9 +115,8 @@ public static void FromAbsolute( // PERF: Calculate the end of the scheme for next IndexOf startIndex += SchemeDelimiter.Length; - var searchIndex = -1; + int searchIndex; var limit = uri.Length; - if ((searchIndex = uri.IndexOf(Pound, startIndex)) >= 0 && searchIndex < limit) { fragment = FragmentString.FromUriComponent(uri.Substring(searchIndex)); From f0a3a7176ddf96272c662e7acb8408b9de9c0220 Mon Sep 17 00:00:00 2001 From: Ben Adams Date: Fri, 19 Apr 2019 04:40:13 +0100 Subject: [PATCH 2/2] Hashtag it up --- src/Http/Http.Extensions/src/UriHelper.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Http/Http.Extensions/src/UriHelper.cs b/src/Http/Http.Extensions/src/UriHelper.cs index 63aff8ba25c1..5cb0a12f26d0 100644 --- a/src/Http/Http.Extensions/src/UriHelper.cs +++ b/src/Http/Http.Extensions/src/UriHelper.cs @@ -12,7 +12,7 @@ namespace Microsoft.AspNetCore.Http.Extensions public static class UriHelper { private const char ForwardSlash = '/'; - private const char Pound = '#'; + private const char Hash = '#'; private const char QuestionMark = '?'; private const string SchemeDelimiter = "://"; @@ -117,7 +117,7 @@ public static void FromAbsolute( int searchIndex; var limit = uri.Length; - if ((searchIndex = uri.IndexOf(Pound, startIndex)) >= 0 && searchIndex < limit) + if ((searchIndex = uri.IndexOf(Hash, startIndex)) >= 0 && searchIndex < limit) { fragment = FragmentString.FromUriComponent(uri.Substring(searchIndex)); limit = searchIndex;