You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi
We learned that the .GetLeftPart method performs Unicode character encoding under the hood. This caused a subtle bug that went undetected for months. It should be called in https://learn.microsoft.com/en-us/dotnet/api/system.uri.getleftpart?view=net-9.0
Initially we used this method to remove SAS token later discovered it does more than removing SAS token.
We confirmed this manually and then decompiled the code to verify it.
The text was updated successfully, but these errors were encountered:
erdembayar
changed the title
.GetLeftPart does unicode encoding under the hood
.GetLeftPart does unicode character encoding under the hood
Apr 28, 2025
Let me post offline comment on behalf of @MihaZupan:
GetLeftPart is just a shorthand for picking the set of UriComponent flags to pass to GetComponents.
E.g. calling .GetLeftPart(UriPartial.Authority) is the same as calling .GetComponents(UriComponents.Scheme | UriComponents.UserInfo | UriComponents.Host | UriComponents.Port, UriFormat.UriEscaped)
This is how basically all properties on Uri behave (Host, Query, PathAndQuery, AbsoluteUri, ...)
Hi
We learned that the .GetLeftPart method performs Unicode character encoding under the hood. This caused a subtle bug that went undetected for months. It should be called in https://learn.microsoft.com/en-us/dotnet/api/system.uri.getleftpart?view=net-9.0
Initially we used this method to remove SAS token later discovered it does more than removing SAS token.
We confirmed this manually and then decompiled the code to verify it.
The text was updated successfully, but these errors were encountered: