in util/csharp/core/Common.cs [164:198]
internal static string GetSignature(TeaRequest request, string accessKeySecret)
{
string resource = request.Pathname
.Replace("%2F", "/")
.Replace("%3F", "?")
.Replace("%3D", "=")
.Replace("%26", "&");
List<string> sortedKeys = request.Query.Keys.ToList();
var queryPairsList = new List<string>();
sortedKeys.Sort();
foreach (string key in sortedKeys)
{
string value = request.Query.Get(key);
if (value == null)
{
continue;
}
string valueStr = PercentEncode(value);
valueStr = valueStr.Replace("'", "%27");
queryPairsList.Add(key + "=" + valueStr);
}
String queryPairsString = Join(queryPairsList, "&");
if (queryPairsString.Length > 0)
{
resource = resource + "?" + queryPairsString;
}
return GetSignedStr(request, resource, accessKeySecret);
}