def canonicalize_request(sign_algorithm = algorithm, sign_version = proto_version)
digest = validate_sign_version_digest!(sign_algorithm, sign_version)
canonical_x_ops_user_id = canonicalize_user_id(user_id, sign_version, digest)
case sign_version
when "1.3"
[
"Method:#{http_method.to_s.upcase}",
"Path:#{canonical_path}",
"X-Ops-Content-Hash:#{hashed_body(digest)}",
"X-Ops-Sign:version=#{sign_version}",
"X-Ops-Timestamp:#{canonical_time}",
"X-Ops-UserId:#{canonical_x_ops_user_id}",
"X-Ops-Server-API-Version:#{server_api_version}",
].join("\n")
else
[
"Method:#{http_method.to_s.upcase}",
"Hashed Path:#{digester.hash_string(canonical_path, digest)}",
"X-Ops-Content-Hash:#{hashed_body(digest)}",
"X-Ops-Timestamp:#{canonical_time}",
"X-Ops-UserId:#{canonical_x_ops_user_id}",
].join("\n")
end
end