func completeROASignParams()

in services/dybaseapi/mns/mns_roa_signature_composer.go [42:70]


func completeROASignParams(request requests.AcsRequest, signer auth.Signer) {
	headerParams := request.GetHeaders()

	// complete query params
	queryParams := request.GetQueryParams()
	if extraParam := signer.GetExtraParam(); extraParam != nil {
		for key, value := range extraParam {
			if key == "SecurityToken" {
				headerParams["security-token"] = value
				continue
			}

			queryParams[key] = value
		}
	}

	// complete header params
	headerParams["Date"] = utils.GetTimeInFormatRFC2616()
	if request.GetFormParams() != nil && len(request.GetFormParams()) > 0 {
		formString := utils.GetUrlFormedMap(request.GetFormParams())
		request.SetContent([]byte(formString))
		headerParams["Content-Type"] = requests.Form
	}
	contentMD5 := utils.GetMD5Base64(request.GetContent())
	headerParams["Content-MD5"] = contentMD5
	if _, contains := headerParams["Content-Type"]; !contains {
		headerParams["Content-Type"] = "text/xml"
	}
}