@@ -203,54 +203,7 @@ public static string GetEncodedPathAndQuery(this HttpRequest request)
203203 /// suitable only for display.</returns>
204204 public static string GetDisplayUrl ( this HttpRequest request )
205205 {
206- var scheme = request . Scheme ?? string . Empty ;
207- var host = request . Host . Value ?? string . Empty ;
208- var pathBase = request . PathBase . Value ?? string . Empty ;
209- var path = request . Path . Value ?? string . Empty ;
210- var queryString = request . QueryString . Value ?? string . Empty ;
211-
212- var length = scheme . Length + SchemeDelimiter . Length + host . Length
213- + pathBase . Length + path . Length + queryString . Length ;
214-
215- return string . Create (
216- length ,
217- ( scheme , host , pathBase , path , queryString ) ,
218- static ( buffer , uriParts ) =>
219- {
220- var ( scheme , host , pathBase , path , queryString ) = uriParts ;
221-
222- if ( scheme . Length > 0 )
223- {
224- scheme . CopyTo ( buffer ) ;
225- buffer = buffer . Slice ( scheme . Length ) ;
226- }
227-
228- SchemeDelimiter . CopyTo ( buffer ) ;
229- buffer = buffer . Slice ( SchemeDelimiter . Length ) ;
230-
231- if ( host . Length > 0 )
232- {
233- host . CopyTo ( buffer ) ;
234- buffer = buffer . Slice ( host . Length ) ;
235- }
236-
237- if ( pathBase . Length > 0 )
238- {
239- pathBase . CopyTo ( buffer ) ;
240- buffer = buffer . Slice ( pathBase . Length ) ;
241- }
242-
243- if ( path . Length > 0 )
244- {
245- path . CopyTo ( buffer ) ;
246- buffer = buffer . Slice ( path . Length ) ;
247- }
248-
249- if ( queryString . Length > 0 )
250- {
251- queryString . CopyTo ( buffer ) ;
252- }
253- } ) ;
206+ return string . Concat ( ( ReadOnlySpan < string > ) [ request . Scheme , "://" , request . Host . Value , request . PathBase . Value , request . Path . Value , request . QueryString . Value ] ) ;
254207 }
255208
256209 /// <summary>
0 commit comments