in src/AlibabaCloud.OSS.V2/Transform/Functions.cs [152:205]
public static void AddCopySource(ref Models.RequestModel request, ref OperationInput input)
{
switch (request)
{
case Models.UploadPartCopyRequest req:
{
var bucket = req.SourceBucket ?? req.Bucket;
if (bucket != null)
{
var key = req.SourceKey ?? "";
var source = $"/{bucket}/{key.UrlEncodePath()}";
if (req.SourceVersionId != null)
{
source += $"?versionId={req.SourceVersionId}";
}
if (input.Headers == null)
{
input.Headers = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
input.Headers!["x-oss-copy-source"] = source;
}
break;
}
case Models.CopyObjectRequest req:
{
var bucket = req.SourceBucket ?? req.Bucket;
if (bucket != null)
{
var key = req.SourceKey ?? "";
var source = $"/{bucket}/{key.UrlEncodePath()}";
if (req.SourceVersionId != null)
{
source += $"?versionId={req.SourceVersionId}";
}
if (input.Headers == null)
{
input.Headers = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
input.Headers!["x-oss-copy-source"] = source;
}
break;
}
}
}