in sdk/auth/roa_signature_composer.go [54:90]
func completeROASignParams(request requests.AcsRequest, cc *credentials.Credentials) {
headerParams := request.GetHeaders()
headerParams["x-acs-credentials-provider"] = cc.ProviderName
if cc.SecurityToken != "" {
headerParams["x-acs-security-token"] = cc.SecurityToken
}
if cc.BearerToken != "" {
headerParams["x-acs-bearer-token"] = cc.BearerToken
}
// complete header params
headerParams["Date"] = hookGetDate(utils.GetTimeInFormatRFC2616)
headerParams["x-acs-signature-method"] = "HMAC-SHA1"
headerParams["x-acs-signature-version"] = "1.0"
if request.GetFormParams() != nil && len(request.GetFormParams()) > 0 {
formString := utils.GetUrlFormedMap(request.GetFormParams())
request.SetContent([]byte(formString))
if headerParams["Content-Type"] == "" {
headerParams["Content-Type"] = requests.Form
}
}
contentMD5 := utils.GetMD5Base64(request.GetContent())
headerParams["Content-MD5"] = contentMD5
if _, contains := headerParams["Content-Type"]; !contains {
headerParams["Content-Type"] = requests.Raw
}
switch format := request.GetAcceptFormat(); format {
case "JSON":
headerParams["Accept"] = requests.Json
case "XML":
headerParams["Accept"] = requests.Xml
default:
headerParams["Accept"] = requests.Raw
}
}