Skip to content

Commit fec561b

Browse files
authored
Merge pull request #1397 from Unity-Technologies/unityprofile-urlencode-2
Move HttpUtility from System.Web.Services to System.Web
2 parents d55ce55 + b132481 commit fec561b

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

mcs/class/System.Web.Services/System.Web.Services.Protocols/UrlEncodedParameterWriter.cs

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,20 +70,27 @@ protected void Encode (TextWriter writer, object[] values)
7070
}
7171

7272
protected void Encode (TextWriter writer, string name, object value)
73+
{
74+
writer.Write (UrlEncode (name));
75+
writer.Write ("=");
76+
writer.Write (UrlEncode (ObjToString (value)));
77+
}
78+
79+
private string UrlEncode (string value)
7380
{
7481
if (requestEncoding != null)
7582
{
76-
writer.Write (HttpUtility.UrlEncode (name, requestEncoding));
77-
writer.Write ("=");
78-
writer.Write (HttpUtility.UrlEncode (ObjToString (value), requestEncoding));
79-
}
80-
else
81-
{
82-
writer.Write (HttpUtility.UrlEncode (name));
83-
writer.Write ("=");
84-
writer.Write (HttpUtility.UrlEncode (ObjToString (value)));
83+
#if UNITY_AOT && FULL_AOT_RUNTIME
84+
return UrlEncoder.UrlEscapeString (value, requestEncoding);
85+
#else
86+
return HttpUtility.UrlEncode (value, requestEncoding);
87+
#endif
8588
}
86-
89+
#if UNITY_AOT && FULL_AOT_RUNTIME
90+
return UrlEncoder.UrlEscapeStringUnicode (value);
91+
#else
92+
return HttpUtility.UrlEncode (value);
93+
#endif
8794
}
8895

8996
public override object GetInitializer (LogicalMethodInfo methodInfo)
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
../System.Web/System.Web.Util/Helpers.cs
2+
../System.Web/System.Web.Util/HttpEncoder.cs
3+
../System.Web/System.Web/HttpUtility.cs
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
#include mobile_System.Web.Services.dll.sources
2+
ReferenceSources/Res.cs
3+
../referencesource/System.Web.Services/System/Web/Services/Protocols/Scalars.cs

0 commit comments

Comments
 (0)