in src/Transform/ObjectBasic.php [1183:1222]
public static function fromPutObjectTagging(Models\PutObjectTaggingRequest $request): OperationInput
{
Functions::assertFieldRequired('bucket', $request->bucket);
Functions::assertFieldRequired('key', $request->key);
Functions::assertFieldRequired('tagging', $request->tagging);
$input = new OperationInput(
'PutObjectTagging',
'PUT',
['Content-Type' => 'application/xml'],
);
$input->setBucket($request->bucket);
$input->setKey($request->key);
$input->setParameter('tagging', '');
$input->setOpMetadata('sub-resource', ["tagging",]);
$customSerializer = [
static function (Models\PutObjectTaggingRequest $request, OperationInput $input) {
if (isset($request->tagging)) {
$xml = new \SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><Tagging></Tagging>');
if (isset($request->tagging->tagSet)) {
$xmlTagSet = $xml->addChild('TagSet');
foreach ($request->tagging->tagSet->tags as $tag) {
$xmlTag = $xmlTagSet->addChild('Tag');
$xmlTag->addChild('Key', strval($tag->key));
$xmlTag->addChild('Value', strval($tag->value));
}
}
$input->setBody(Utils::streamFor($xml->asXML()));
}
if (isset($request->versionId)) {
$input->setParameter('versionId', $request->versionId);
}
if (isset($request->requestPayer)) {
$input->setHeader('x-oss-request-payer', $request->requestPayer);
}
},
[Functions::class, 'addContentMd5']
];
Functions::serializeInputLite($request, $input, $customSerializer);
return $input;
}