func completeROASignParams()

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
	}
}