tree da62abe257a7ecfdc3a31f203e8e21e5e495f4d8
parent 02b8bfa8c3cbcd73191c64a5be11f3757d8ceee1
author Hughes Hilton <hugheshilton@google.com> 1680192113 -0700
committer Hughes Hilton <hugheshilton@google.com> 1680192424 +0000

Create project and class for .NET Framework version of Uri.EscapeDataString

This change creates a project to build the .NET Framework version of Uri.EscapeDataString and copies that method and supporting methods and constants into their own class.

This class contains the original .NET Framework source for Uri.GetDataString() executed in V2 quirks mode. Other than minor style changes made by Rider and changes to references to make these methods use their own versions of methods and constants, these methods are copy/pasted here unchanged from the original versions.

The one modification I did was to force the use of V2 quirks mode in s_QuirksVersion. Originally, whether V2 or V3 quirks mode was used was controlled by a compilation symbol so it was slightly unclear which was being used. However, once I tested this, it became clear that V2 quirks mode was used since V3 quirks mode escaped the '(' and ')' characters just like .NET Core does. Since we need this code to behave like .NET Framework, V2 quirks mode is what we need.

I'm leaving the original files I copied these methods from with all code commented out in case we ever need to compare or fix something in these methods from the original source.

Change-Id: I18eecc1ce72297cc8e06ffd2602ff804bf79ac1a
