text: <?php
  /**
   * Copyright (C) Alibaba Cloud Computing
   * All rights reserved.
   *
   * 版权所有 （C）阿里云计算有限公司
   */
  
  namespace Aliyun\OSS\Commands;
  
  
  use Aliyun\Common\Utilities\HttpMethods;
  
  use Aliyun\OSS\Parsers\OSSResponseParserFactory;
  
  use Aliyun\OSS\Parsers\ListBucketParser;
  
  use Aliyun\OSS\Models\OSSOptions;
  
  use Aliyun\OSS\Utilities\OSSRequestBuilder;
  
  use Aliyun\Common\Utilities\AssertUtils;
  
  use Aliyun\OSS\Utilities\OSSUtils;
  
  class AbortMultipartUploadCommand extends OSSCommand {
  
      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;
      }
  
      protected function getRequest($options) {
          return OSSRequestBuilder::factory()
              ->setEndpoint($options[OSSOptions::ENDPOINT])
              ->setBucket($options[OSSOptions::BUCKET])
              ->setKey($options[OSSOptions::KEY])
              ->addParameter('uploadId', $options[OSSOptions::UPLOAD_ID])
              ->setMethod(HttpMethods::DELETE)
              ->build();
      }
  }