Ejemplo n.º 1
0
 protected function buildCoreRequest(HttpRequest $request)
 {
     $headers = $request->getHeaders();
     $contentLength = 0;
     if (!$request->isParameterInUrl()) {
         $body = $request->getParameterString();
         $contentLength = strlen($body);
     } else {
         $body = $request->getContent();
         if ($body !== null) {
             AssertUtils::assertSet(HttpHeaders::CONTENT_LENGTH, $headers);
             $contentLength = (int) $headers[HttpHeaders::CONTENT_LENGTH];
         }
     }
     $entity = null;
     $headers[HttpHeaders::CONTENT_LENGTH] = (string) $contentLength;
     if ($body !== null) {
         $entity = new ReadLimitEntityBody(EntityBody::factory($body), $contentLength, $request->getOffset() !== false ? $request->getOffset() : 0);
     }
     $coreRequest = $this->client->createRequest($request->getMethod(), $request->getFullUrl(), $headers, $entity);
     if ($request->getResponseBody() != null) {
         $coreRequest->setResponseBody($request->getResponseBody());
     }
     return $coreRequest;
 }
 protected function checkOptions($options)
 {
     $options = parent::checkOptions($options);
     AssertUtils::assertSet(array(OSSOptions::BUCKET, OSSOptions::KEY, OSSOptions::UPLOAD_ID), $options);
     OSSUtils::assertBucketName($options[OSSOptions::BUCKET]);
     OSSUtils::assertObjectKey($options[OSSOptions::KEY]);
     return $options;
 }
Ejemplo n.º 3
0
 protected function checkOptions($options)
 {
     $options = parent::checkOptions($options);
     AssertUtils::assertSet(array(OSSOptions::SOURCE_BUCKET, OSSOptions::SOURCE_KEY, OSSOptions::DEST_BUCKET, OSSOptions::DEST_KEY), $options);
     $options[OSSOptions::BUCKET] = $options[OSSOptions::DEST_BUCKET];
     $options[OSSOptions::KEY] = $options[OSSOptions::DEST_KEY];
     OSSUtils::assertBucketName($options[OSSOptions::BUCKET]);
     OSSUtils::assertObjectKey($options[OSSOptions::KEY]);
     return $options;
 }
Ejemplo n.º 4
0
 protected function checkOptions($options)
 {
     $options = parent::checkOptions($options);
     AssertUtils::assertSet(array(OSSOptions::CONTENT, OSSOptions::BUCKET, OSSOptions::KEY, OSSOptions::UPLOAD_ID, OSSOptions::PART_NUMBER, OSSOptions::PART_SIZE), $options);
     OSSUtils::assertBucketName($options[OSSOptions::BUCKET]);
     OSSUtils::assertObjectKey($options[OSSOptions::KEY]);
     AssertUtils::assertNumber($options[OSSOptions::PART_NUMBER], OSSOptions::PART_NUMBER);
     AssertUtils::assertNumber($options[OSSOptions::PART_SIZE], OSSOptions::PART_SIZE);
     return $options;
 }
Ejemplo n.º 5
0
 protected function checkOptions($options)
 {
     $options = parent::checkOptions($options);
     AssertUtils::assertSet(array(OSSOptions::BUCKET), $options);
     if (isset($options[OSSOptions::KEY])) {
         unset($options[OSSOptions::KEY]);
     }
     OSSUtils::assertBucketName($options[OSSOptions::BUCKET]);
     return $options;
 }
Ejemplo n.º 6
0
 protected function checkOptions($options)
 {
     $options = parent::checkOptions($options);
     AssertUtils::assertSet(array(OSSOptions::BUCKET, OSSOptions::KEY), $options);
     OSSUtils::assertBucketName($options[OSSOptions::BUCKET]);
     OSSUtils::assertObjectKey($options[OSSOptions::KEY]);
     if (isset($options[OSSOptions::META_ONLY])) {
         if ($options[OSSOptions::META_ONLY]) {
             unset($options[OSSOptions::SAVE_AS]);
         }
     }
     return $options;
 }
 private function checkOptions($options)
 {
     AssertUtils::assertSet(array(OSSOptions::BUCKET, OSSOptions::KEY, OSSOptions::EXPIRES), $options);
     OSSUtils::assertBucketName($options[OSSOptions::BUCKET]);
     if (isset($options[OSSOptions::KEY])) {
         OSSUtils::assertObjectKey($options[OSSOptions::KEY]);
     }
     if (!$options[OSSOptions::EXPIRES] instanceof \DateTime) {
         throw new \InvalidArgumentException(OSSOptions::EXPIRES . ' must be instance of \\DateTime');
     }
     $options[OSSOptions::METHOD] = strtoupper($options[OSSOptions::METHOD]);
     return $options;
 }
Ejemplo n.º 8
0
 protected function checkOptions($options)
 {
     $options = parent::checkOptions($options);
     AssertUtils::assertSet(array(OSSOptions::CONTENT, OSSOptions::BUCKET, OSSOptions::KEY), $options);
     OSSUtils::assertBucketName($options[OSSOptions::BUCKET]);
     OSSUtils::assertObjectKey($options[OSSOptions::KEY]);
     if (isset($options[OSSOptions::CONTENT_LENGTH])) {
         AssertUtils::assertNumber($options[OSSOptions::CONTENT_LENGTH], OSSOptions::CONTENT_LENGTH);
     }
     if (is_resource($options[OSSOptions::CONTENT]) && !isset($options[OSSOptions::CONTENT_LENGTH])) {
         throw new \InvalidArgumentException(OSSOptions::CONTENT_LENGTH . ' must be set when the content is a resource.');
     }
     return $options;
 }
 protected function checkOptions($options)
 {
     $options = parent::checkOptions($options);
     AssertUtils::assertSet(array(OSSOptions::BUCKET, OSSOptions::KEY, OSSOptions::UPLOAD_ID, OSSOptions::PART_ETAGS), $options);
     OSSUtils::assertBucketName($options[OSSOptions::BUCKET]);
     OSSUtils::assertObjectKey($options[OSSOptions::KEY]);
     AssertUtils::assertArray($options[OSSOptions::PART_ETAGS], OSSOptions::PART_ETAGS);
     for ($i = 0; $i < count($options[OSSOptions::PART_ETAGS]); $i++) {
         $partETag = $options[OSSOptions::PART_ETAGS][$i];
         AssertUtils::assertArray($partETag, OSSOptions::PART_ETAGS . '.' . $i);
         AssertUtils::assertSet(array(OSSOptions::PART_NUMBER, OSSOptions::ETAG), $partETag);
     }
     return $options;
 }
Ejemplo n.º 10
0
 protected function checkOptions($options)
 {
     $options = parent::checkOptions($options);
     AssertUtils::assertSet(array(OSSOptions::BUCKET, OSSOptions::KEY, OSSOptions::UPLOAD_ID), $options);
     OSSUtils::assertBucketName($options[OSSOptions::BUCKET]);
     OSSUtils::assertObjectKey($options[OSSOptions::KEY]);
     if (isset($options[OSSOptions::PART_NUMBER_MARKER])) {
         AssertUtils::assertNumber($options[OSSOptions::PART_NUMBER_MARKER], OSSOptions::PART_NUMBER_MARKER);
     }
     if (isset($options[OSSOptions::MAX_PARTS])) {
         AssertUtils::assertNumber($options[OSSOptions::MAX_PARTS], OSSOptions::MAX_PARTS);
     }
     return $options;
 }
Ejemplo n.º 11
0
 public function sign(HttpRequest $request, array $credentials)
 {
     AssertUtils::assertSet(array(OSSOptions::ACCESS_KEY_ID, OSSOptions::ACCESS_KEY_SECRET), $credentials);
     AssertUtils::assertString($credentials[OSSOptions::ACCESS_KEY_ID], OSSOptions::ACCESS_KEY_ID);
     AssertUtils::assertString($credentials[OSSOptions::ACCESS_KEY_SECRET], OSSOptions::ACCESS_KEY_SECRET);
     $key = $credentials[OSSOptions::ACCESS_KEY_ID];
     $secret = $credentials[OSSOptions::ACCESS_KEY_SECRET];
     if (strlen($key) > 0 && strlen($secret) > 0) {
         $canonicalString = SignUtils::buildCanonicalString($request, $this->bucket, $this->key);
         $signature = ServiceSignature::factory()->computeSignature($secret, $canonicalString);
         $request->addHeader(OSSHeaders::AUTHORIZATION, 'OSS ' . $key . ':' . $signature);
     } else {
         if (strlen($key) > 0) {
             $request->addHeader(OSSHeaders::AUTHORIZATION, $key);
         }
     }
 }
Ejemplo n.º 12
0
 public function addHeader($header, $value)
 {
     AssertUtils::assertString($header, 'HttpHeaderName');
     AssertUtils::assertString($value, 'HttpHeaderValue');
     $this->headers[$header] = $value;
 }
Ejemplo n.º 13
0
 public function __construct(ServiceClientInterface $client, array $config = array())
 {
     AssertUtils::assertSet(ServiceOptions::MAX_ERROR_RETRY, $config);
     $this->client = $client;
     $this->maxErrotRetry = $config[ServiceOptions::MAX_ERROR_RETRY];
 }
Ejemplo n.º 14
0
 public function computeSignature($key, $data)
 {
     AssertUtils::assertNotEmpty($key, 'key');
     AssertUtils::assertNotEmpty($data, 'data');
     return $this->computeSignatureCore($key, $data);
 }
Ejemplo n.º 15
0
 protected function checkOptions($options)
 {
     $options = parent::checkOptions($options);
     AssertUtils::assertSet(array(OSSOptions::ENDPOINT, OSSOptions::ACCESS_KEY_ID, OSSOptions::ACCESS_KEY_SECRET), $options);
     return $options;
 }
Ejemplo n.º 16
0
 public function build()
 {
     AssertUtils::assertString($this->endpoint, 'endpoint');
     // sent request
     $request = new HttpRequest();
     $request->setEndpoint(OSSUtils::buildEndpoint($this->endpoint, $this->bucket));
     if (isset($this->method)) {
         $request->setMethod($this->method);
     }
     $headers = $this->headers;
     // Date
     if (!isset($headers[OSSHeaders::DATE])) {
         $headers[OSSHeaders::DATE] = DateUtils::formatDate(new \DateTime());
     }
     // Content-Type
     if (!isset($headers[OSSHeaders::CONTENT_TYPE])) {
         $headers[OSSHeaders::CONTENT_TYPE] = '';
     }
     if (!isset($headers[OSSHeaders::CONTENT_LENGTH]) && is_string($this->content)) {
         $headers[OSSHeaders::CONTENT_LENGTH] = (string) strlen($this->content);
     }
     foreach ($headers as $key => $value) {
         $request->addHeader($key, $value);
     }
     $parameters = $this->parameters;
     foreach ($parameters as $key => $value) {
         $request->addParameter($key, $value);
     }
     $request->setResourcePath(OSSUtils::buildResourcePath($this->key));
     $request->setContent($this->content);
     $request->setResponseBody($this->responseBody);
     return $request;
 }
Ejemplo n.º 17
0
 protected function __construct(array $config)
 {
     // Merge config with default config
     $config = array_merge(ResourceManager::getInstance()->getDefaultOptions(__DIR__), $config);
     // To ensure contains import args
     AssertUtils::assertSet(array(OSSOptions::ENDPOINT, OSSOptions::ACCESS_KEY_ID, OSSOptions::ACCESS_KEY_SECRET), $config);
     // Config client
     $this->endpoint = $config[OSSOptions::ENDPOINT];
     $this->credentials = array(OSSOptions::ACCESS_KEY_ID => $config[OSSOptions::ACCESS_KEY_ID], OSSOptions::ACCESS_KEY_SECRET => $config[OSSOptions::ACCESS_KEY_SECRET]);
     // Creat service client
     $this->serviceClient = ServiceClientFactory::factory()->createService($config);
 }
Ejemplo n.º 18
0
 public function addParameter($key, $value)
 {
     AssertUtils::assertString($key, 'HttpParameterName');
     if ($value !== null) {
         AssertUtils::assertString($value, 'HttpParameterValue');
     }
     $this->parameters[$key] = $value;
 }
Ejemplo n.º 19
0
 /**
  * 设置Bucket的名字
  *
  * @internal
  *
  * @param string $name Bucket的名字
  */
 public function setName($name)
 {
     AssertUtils::assertString($name, 'name');
     $this->name = $name;
 }