in util/golang/service/service.go [61:85]
func getSignature(request *tea.Request, accessKeySecret string) string {
resource := tea.StringValue(request.Pathname)
if !strings.Contains(resource, "?") && len(request.Query) > 0 {
resource += "?"
}
queryKeys := make([]string, len(request.Query))
for k,_ := range request.Query {
queryKeys = append(queryKeys, k)
}
sort.Strings(queryKeys)
for _, key := range queryKeys {
value := request.Query[key]
if value != nil {
tmp := url.QueryEscape(tea.StringValue(value))
tmp = strings.ReplaceAll(tmp, "'", "%27")
tmp = strings.ReplaceAll(tmp, "+", "%20")
if strings.HasSuffix(resource, "?") {
resource = resource + key + "=" + tmp
} else {
resource = resource + "&" + key + "=" + tmp
}
}
}
return getSignedStr(request, resource, accessKeySecret)
}