/** * Retrieve bodies passed in as UploadPartContext objects and set the real hash, length, etc. values on the command * * @param Event $event Event emitted */ public function onCommandBeforeSend(Event $event) { /** @var AbstractCommand $command */ $command = $event['command']; $contentHash = $command->get('ContentSHA256'); if ($contentHash === true) { /** @var EntityEnclosingRequest $request */ $request = $command->getRequest(); $upload = UploadPartGenerator::createSingleUploadPart($request->getBody()); $request->addHeader('x-amz-content-sha256', $upload->getContentHash()); if (!$command->get('checksum')) { $request->addHeader('x-amz-sha256-tree-hash', $upload->getChecksum()); } } elseif (is_string($contentHash)) { $request = $command->getRequest(); $request->addHeader('x-amz-content-sha256', $contentHash); } }
public function testCanCreateSinglePart() { $part = UploadPartGenerator::createSingleUploadPart($this->bodyContent); $this->assertInstanceOf('Aws\\Glacier\\Model\\MultipartUpload\\UploadPart', $part); $this->assertEquals($this->bodySize, $part->getSize()); }