diff --git a/generate.sh b/generate.sh index e74dcebe..76d39add 100755 --- a/generate.sh +++ b/generate.sh @@ -83,6 +83,9 @@ sed -i 's/IsRequired = true/IsRequired = false/g' src/VRChat.API/Model/CurrentUs # Add RequiresTwoFactorAuth property to CurrentUser sed -i '/public string UserIcon { get; set; }/a\\n /// \n /// An array of two-factor authentication methods available to use to with two factor authentication.\n /// \n [DataMember(Name = "requiresTwoFactorAuth", IsRequired = false, EmitDefaultValue = true)]\n public List RequiresTwoFactorAuth { get; set; }' src/VRChat.API/Model/CurrentUser.cs +# Avoid percent-encoding for "(" and ")" characters in URI +sed -i 's/Uri.EscapeDataString(\([\.a-zA-Z _]*\))\([^\.]\)/Uri.EscapeDataString(\1).Replace("%28", "(").Replace("%29", ")")\2/g' src/VRChat.API/Client/WebRequestPathBuilder.cs + # Remove messily pasted markdown at top of every file for i in src/VRChat.API/*/*.cs; do sed -i '/VRChat API Banner/d' $i diff --git a/src/VRChat.API/Client/WebRequestPathBuilder.cs b/src/VRChat.API/Client/WebRequestPathBuilder.cs index 647ff169..0a5581db 100644 --- a/src/VRChat.API/Client/WebRequestPathBuilder.cs +++ b/src/VRChat.API/Client/WebRequestPathBuilder.cs @@ -30,7 +30,7 @@ public void AddPathParameters(Dictionary parameters) { foreach (var parameter in parameters) { - _path = _path.Replace("{" + parameter.Key + "}", Uri.EscapeDataString(parameter.Value)); + _path = _path.Replace("{" + parameter.Key + "}", Uri.EscapeDataString(parameter.Value).Replace("%28", "(").Replace("%29", ")")); } } @@ -40,7 +40,7 @@ public void AddQueryParameters(Multimap parameters) { foreach (var value in parameter.Value) { - _query = _query + parameter.Key + "=" + Uri.EscapeDataString(value) + "&"; + _query = _query + parameter.Key + "=" + Uri.EscapeDataString(value).Replace("%28", "(").Replace("%29", ")") + "&"; } } }