in src/Copier.php [360:392]
private static function overwirteTagProp(Models\InitiateMultipartUploadRequest &$imRequest, array &$context)
{
$request = $context['request'];
$tagProp = $context['tag_prop'] ?? null;
/**
* @var Models\CopyObjectRequest $request
* @var Models\GetObjectTaggingResult $tagProp
*/
$directive = $request->taggingDirective ?? '';
switch (strtolower($directive)) {
case '':
case 'copy':
$imRequest->tagging = null;
if ($tagProp != null && $tagProp->tagSet != null) {
$tags = [];
foreach ($tagProp->tagSet->tags ?? [] as $tag) {
$tags[] = sprintf('%s=%s', $tag->key, $tag->value);
}
if (!empty($tags)) {
$imRequest->tagging = implode('&', $tags);
}
}
break;
case 'replace':
// the tagging has been copied via the copyRequest function before
break;
default:
//unsupport Directive
throw new \InvalidArgumentException("Unsupport TaggingDirective, $directive");
}
}