29 lines
800 B
Go
29 lines
800 B
Go
package auth
|
|
|
|
import (
|
|
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
|
|
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/utils"
|
|
"net/url"
|
|
"strings"
|
|
)
|
|
|
|
func buildRpcStringToSign(request requests.AcsRequest) (stringToSign string) {
|
|
signParams := make(map[string]string)
|
|
for key, value := range request.GetQueryParams() {
|
|
signParams[key] = value
|
|
}
|
|
for key, value := range request.GetFormParams() {
|
|
signParams[key] = value
|
|
}
|
|
|
|
stringToSign = utils.GetUrlFormedMap(signParams)
|
|
stringToSign = strings.Replace(stringToSign, "+", "%20", -1)
|
|
stringToSign = strings.Replace(stringToSign, "*", "%2A", -1)
|
|
stringToSign = strings.Replace(stringToSign, "%7E", "~", -1)
|
|
stringToSign = url.QueryEscape(stringToSign)
|
|
stringToSign = request.GetMethod() + "&%2F&" + stringToSign
|
|
return
|
|
}
|
|
|
|
|