/**
  * {@inheritdoc}
  */
 public static function fromUploadId(AwsClientInterface $client, UploadIdInterface $uploadId)
 {
     $transferState = new self($uploadId);
     foreach ($client->getIterator('ListParts', $uploadId->toParams()) as $part) {
         $transferState->addPart(UploadPart::fromArray($part));
     }
     return $transferState;
 }
Example #2
0
 /**
  * {@inheritdoc}
  */
 public static function fromUploadId(AwsClientInterface $client, UploadIdInterface $uploadId)
 {
     $transferState = new self($uploadId);
     $listParts = $client->getIterator('ListParts', $uploadId->toParams());
     foreach ($listParts as $part) {
         list($firstByte, $lastByte) = explode('-', $part['RangeInBytes']);
         $partSize = (double) $listParts->getLastResult()->get('PartSizeInBytes');
         $partData = array('partNumber' => $firstByte / $partSize + 1, 'checksum' => $part['SHA256TreeHash'], 'contentHash' => self::ALREADY_UPLOADED, 'size' => $lastByte - $firstByte + 1, 'offset' => $firstByte);
         $transferState->addPart(UploadPart::fromArray($partData));
     }
     return $transferState;
 }
Example #3
0
 /**
  * Decodes a MIME encoded string and returns a Zend_Mime_Message object with
  * all the MIME parts set according to the given string
  *
  * @param string $message
  * @param string $boundary
  * @param string $EOL EOL string; defaults to {@link Zend_Mime::LINEEND}
  * @return Zend_Mime_Message
  */
 public static function createFromMessage($message, $boundary, $EOL = Zend_Mime::LINEEND)
 {
     require_once 'Zend/Mime/Decode.php';
     $parts = Zend_Mime_Decode::splitMessageStruct($message, $boundary, $EOL);
     $res = new self();
     foreach ($parts as $part) {
         // now we build a new MimePart for the current Message Part:
         $newPart = new Zend_Mime_Part($part['body']);
         foreach ($part['header'] as $key => $value) {
             /**
              * @todo check for characterset and filename
              */
             switch (strtolower($key)) {
                 case 'content-type':
                     $newPart->type = $value;
                     break;
                 case 'content-transfer-encoding':
                     $newPart->encoding = $value;
                     break;
                 case 'content-id':
                     $newPart->id = trim($value, '<>');
                     break;
                 case 'content-disposition':
                     $newPart->disposition = $value;
                     break;
                 case 'content-description':
                     $newPart->description = $value;
                     break;
                 case 'content-location':
                     $newPart->location = $value;
                     break;
                 case 'content-language':
                     $newPart->language = $value;
                     break;
                 default:
                     throw new Zend_Exception('Unknown header ignored for MimePart:' . $key);
             }
         }
         $res->addPart($newPart);
     }
     return $res;
 }
Example #4
0
 /**
  * Decodes a MIME encoded string and returns a Zend_Mime_Message object with
  * all the MIME parts set according to the given string
  *
  * @param string $message
  * @param string $boundary
  * @param string $EOL EOL string; defaults to {@link Zend_Mime::LINEEND}
  * @return \Zend\Mime\Message
  */
 public static function createFromMessage($message, $boundary, $EOL = Mime::LINEEND)
 {
     $parts = Decode::splitMessageStruct($message, $boundary, $EOL);
     $res = new self();
     foreach ($parts as $part) {
         // now we build a new MimePart for the current Message Part:
         $newPart = new Part($part['body']);
         foreach ($part['header'] as $header) {
             /** @var \Zend\Mail\Header\HeaderInterface $header */
             /**
              * @todo check for characterset and filename
              */
             $fieldName = $header->getFieldName();
             $fieldValue = $header->getFieldValue();
             switch (strtolower($fieldName)) {
                 case 'content-type':
                     $newPart->type = $fieldValue;
                     break;
                 case 'content-transfer-encoding':
                     $newPart->encoding = $fieldValue;
                     break;
                 case 'content-id':
                     $newPart->id = trim($fieldValue, '<>');
                     break;
                 case 'content-disposition':
                     $newPart->disposition = $fieldValue;
                     break;
                 case 'content-description':
                     $newPart->description = $fieldValue;
                     break;
                 case 'content-location':
                     $newPart->location = $fieldValue;
                     break;
                 case 'content-language':
                     $newPart->language = $fieldValue;
                     break;
                 default:
                     throw new Exception\RuntimeException('Unknown header ignored for MimePart:' . $fieldName);
             }
         }
         $res->addPart($newPart);
     }
     return $res;
 }