original_string: public function download($url, $destinationPath = null, $timeout = null)
      {
          $method = Http::getTransportMethod();
  
          if (!isset($timeout)) {
              $timeout = static::HTTP_REQUEST_TIMEOUT;
          }
  
          $post = null;
          if ($this->accessToken) {
              $post = array('access_token' => $this->accessToken);
          }
  
          $file = Http::ensureDestinationDirectoryExists($destinationPath);
  
          $response = Http::sendHttpRequestBy($method,
                                              $url,
                                              $timeout,
                                              $userAgent = null,
                                              $destinationPath,
                                              $file,
                                              $followDepth = 0,
                                              $acceptLanguage = false,
                                              $acceptInvalidSslCertificate = false,
                                              $byteRange = false, $getExtendedInfo = false, $httpMethod = 'POST',
                                              $httpUsername = null, $httpPassword = null, $post);
  
          return $response;
      }
code: public function download($url, $destinationPath = null, $timeout = null)
      {
          $method = Http::getTransportMethod();
  
          if (!isset($timeout)) {
              $timeout = static::HTTP_REQUEST_TIMEOUT;
          }
  
          $post = null;
          if ($this->accessToken) {
              $post = array('access_token' => $this->accessToken);
          }
  
          $file = Http::ensureDestinationDirectoryExists($destinationPath);
  
          $response = Http::sendHttpRequestBy($method,
                                              $url,
                                              $timeout,
                                              $userAgent = null,
                                              $destinationPath,
                                              $file,
                                              $followDepth = 0,
                                              $acceptLanguage = false,
                                              $acceptInvalidSslCertificate = false,
                                              $byteRange = false, $getExtendedInfo = false, $httpMethod = 'POST',
                                              $httpUsername = null, $httpPassword = null, $post);
  
          return $response;
      }
code_tokens: public function download ( $ url , $ destinationPath = null , $ timeout = null ) { $ method = Http :: getTransportMethod ( ) ; if ( ! isset ( $ timeout ) ) { $ timeout = static :: HTTP_REQUEST_TIMEOUT ; } $ post = null ; if ( $ this -> accessToken ) { $ post = array ( 'access_token' => $ this -> accessToken ) ; } $ file = Http :: ensureDestinationDirectoryExists ( $ destinationPath ) ; $ response = Http :: sendHttpRequestBy ( $ method , $ url , $ timeout , $ userAgent = null , $ destinationPath , $ file , $ followDepth = 0 , $ acceptLanguage = false , $ acceptInvalidSslCertificate = false , $ byteRange = false , $ getExtendedInfo = false , $ httpMethod = 'POST' , $ httpUsername = null , $ httpPassword = null , $ post ) ; return $ response ; }
docstring: Downloads data from the given URL via a POST request. If a destination path is given, the downloaded data
  will be stored in the given path and returned otherwise.
  
  Make sure to call {@link authenticate()} to download paid plugins.
  
  @param string $url An absolute URL to the marketplace including domain.
  @param null|string $destinationPath
  @param null|int $timeout  Defaults to 60 seconds see {@link self::HTTP_REQUEST_METHOD}
  @return bool|string  Returns the downloaded data or true if a destination path was given.
  @throws \Exception
docstring_tokens: Downloads data from the given URL via a POST request . If a destination path is given the downloaded data will be stored in the given path and returned otherwise .