in src/Copier.php [105:151]
private function checkArgs(array &$context, Models\CopyObjectRequest &$request, array &$args): array
{
$context = $this->filterArgs($args) + $this->options;
if (!Validation::isValidBucketName(Utils::safetyString($request->bucket))) {
throw new \InvalidArgumentException('invalid field, request.bucket.');
}
if (!Validation::isValidObjectName(Utils::safetyString($request->key))) {
throw new \InvalidArgumentException('invalid field, request.key.');
}
if (!Validation::isValidObjectName(Utils::safetyString($request->sourceKey))) {
throw new \InvalidArgumentException('invalid field, request.sourceKey.');
}
if ($request->metadataDirective != null && !in_array($request->metadataDirective, ['COPY', 'REPLACE'])) {
throw new \InvalidArgumentException('invalid field, request.metadataDirective.');
}
if ($request->taggingDirective != null && !in_array($request->taggingDirective, ['COPY', 'REPLACE'])) {
throw new \InvalidArgumentException('invalid field, request.taggingDirective.');
}
if (Utils::safetyInt($context['part_size']) <= 0) {
$context['part_size'] = Defaults::DEFAULT_COPY_PART_SIZE;
}
if (Utils::safetyInt($context['parallel_num']) <= 0) {
$context['parallel_num'] = Defaults::DEFAULT_COPY_PARALLEL;
}
if (Utils::safetyInt($context['multipart_copy_threshold']) < 0) {
$context['multipart_copy_threshold'] = Defaults::DEFAULT_COPY_THRESHOLD;
}
$context['request'] = $request;
$context['path'] = sprintf('oss://%s/%s', $request->bucket, $request->key);
//meta_prop & tag_prop
if (isset($args['meta_prop']) && $args['meta_prop'] instanceof Models\HeadObjectResult) {
$context['total_size'] = $args['meta_prop']->contentLength;
$context['meta_prop'] = $args['meta_prop'];
}
return $context;
}