@@ 477-518 (lines=42) @@ | ||
474 | * |
|
475 | * @see https://docs.microsoft.com/en-us/rest/api/storageservices/create-share |
|
476 | */ |
|
477 | public function createShareAsync( |
|
478 | $share, |
|
479 | CreateShareOptions $options = null |
|
480 | ) { |
|
481 | Validate::isString($share, 'share'); |
|
482 | Validate::notNullOrEmpty($share, 'share'); |
|
483 | ||
484 | $method = Resources::HTTP_PUT; |
|
485 | $headers = array(); |
|
486 | $postParams = array(); |
|
487 | $queryParams = array(Resources::QP_REST_TYPE => 'share'); |
|
488 | $path = $this->createPath($share); |
|
489 | ||
490 | if (is_null($options)) { |
|
491 | $options = new CreateShareOptions(); |
|
492 | } |
|
493 | ||
494 | $metadata = $options->getMetadata(); |
|
495 | $headers = $this->generateMetadataHeaders($metadata); |
|
496 | $this->addOptionalHeader( |
|
497 | $headers, |
|
498 | Resources::X_MS_SHARE_QUOTA, |
|
499 | $options->getQuota() |
|
500 | ); |
|
501 | ||
502 | $this->addOptionalQueryParam( |
|
503 | $queryParams, |
|
504 | Resources::QP_TIMEOUT, |
|
505 | $options->getTimeout() |
|
506 | ); |
|
507 | ||
508 | return $this->sendAsync( |
|
509 | $method, |
|
510 | $headers, |
|
511 | $queryParams, |
|
512 | $postParams, |
|
513 | $path, |
|
514 | Resources::STATUS_CREATED, |
|
515 | Resources::EMPTY_STRING, |
|
516 | $options |
|
517 | ); |
|
518 | } |
|
519 | ||
520 | /** |
|
521 | * Deletes a share in the given storage account. |
|
@@ 943-990 (lines=48) @@ | ||
940 | * |
|
941 | * @see https://docs.microsoft.com/en-us/rest/api/storageservices/get-share-stats |
|
942 | */ |
|
943 | public function getShareStatsAsync($share, FileServiceOptions $options = null) |
|
944 | { |
|
945 | Validate::isString($share, 'share'); |
|
946 | ||
947 | $method = Resources::HTTP_GET; |
|
948 | $headers = array(); |
|
949 | $queryParams = array(); |
|
950 | $postParams = array(); |
|
951 | $path = $this->createPath($share); |
|
952 | ||
953 | if (is_null($options)) { |
|
954 | $options = new FileServiceOptions(); |
|
955 | } |
|
956 | ||
957 | $this->addOptionalQueryParam( |
|
958 | $queryParams, |
|
959 | Resources::QP_REST_TYPE, |
|
960 | 'share' |
|
961 | ); |
|
962 | ||
963 | $this->addOptionalQueryParam( |
|
964 | $queryParams, |
|
965 | Resources::QP_COMP, |
|
966 | 'stats' |
|
967 | ); |
|
968 | ||
969 | $this->addOptionalQueryParam( |
|
970 | $queryParams, |
|
971 | Resources::QP_TIMEOUT, |
|
972 | $options->getTimeout() |
|
973 | ); |
|
974 | ||
975 | $dataSerializer = $this->dataSerializer; |
|
976 | ||
977 | return $this->sendAsync( |
|
978 | $method, |
|
979 | $headers, |
|
980 | $queryParams, |
|
981 | $postParams, |
|
982 | $path, |
|
983 | Resources::STATUS_OK, |
|
984 | Resources::EMPTY_STRING, |
|
985 | $options |
|
986 | )->then(function ($response) use ($dataSerializer) { |
|
987 | $parsed = $dataSerializer->unserialize($response->getBody()); |
|
988 | return GetShareStatsResult::create($parsed); |
|
989 | }, null); |
|
990 | } |
|
991 | ||
992 | /** |
|
993 | * List directories and files under specified path. |