in cassandra_sigv4/auth.py [0:0]
def _generate_canonical_request(access_key_id, signing_scope, request_timestamp, nonce):
headers = [_AMZ_ALGO_HEADER, _create_credential_header(access_key_id, signing_scope),
"X-Amz-Date={0}".format(quote_plus(_format_timestamp(request_timestamp))),
_AMZ_EXPIRES_HEADER]
headers.sort()
query_string = "&".join(headers)
return "PUT\n/authenticate\n{0}\nhost:{1}\n\nhost\n{2}".format(query_string, _CANONICAL_SERVICE,
_sha_256_hash(nonce))