protected static function alter_api_response( $response, $version ) {
		if ( $response->version === $version ) {
			return;
		}

		// WordPress.org forces https, but still sometimes returns http
		// See https://twitter.com/nacin/status/512362694205140992
		$response->download_link = str_replace( 'http://', 'https://', $response->download_link );

		list( $link ) = explode( $response->slug, $response->download_link );

		if ( false !== strpos( $response->download_link, '/theme/' ) ) {
			$download_type = 'theme';
		} elseif ( false !== strpos( $response->download_link, '/plugin/' ) ) {
			$download_type = 'plugin';
		} else {
			$download_type = 'plugin/theme';
		}

		if ( 'dev' === $version ) {
			$response->download_link = $link . $response->slug . '.zip';
			$response->version       = 'Development Version';
		} else {
			$response->download_link = $link . $response->slug . '.' . $version . '.zip';
			$response->version       = $version;

			// check if the requested version exists
			$response      = wp_remote_head( $response->download_link );
			$response_code = wp_remote_retrieve_response_code( $response );
			if ( 200 !== (int) $response_code ) {
				if ( is_wp_error( $response ) ) {
					$error_msg = $response->get_error_message();
				} else {
					$error_msg = sprintf( 'HTTP code %d', $response_code );
				}
				WP_CLI::error(
					sprintf(
						"Can't find the requested %s's version %s in the WordPress.org %s repository (%s).",
						$download_type,
						$version,
						$download_type,
						$error_msg
					)
				);
			}
		}
	}
protected static function alter_api_response( $response, $version ) {
		if ( $response->version === $version ) {
			return;
		}

		// WordPress.org forces https, but still sometimes returns http
		// See https://twitter.com/nacin/status/512362694205140992
		$response->download_link = str_replace( 'http://', 'https://', $response->download_link );

		list( $link ) = explode( $response->slug, $response->download_link );

		if ( false !== strpos( $response->download_link, '/theme/' ) ) {
			$download_type = 'theme';
		} elseif ( false !== strpos( $response->download_link, '/plugin/' ) ) {
			$download_type = 'plugin';
		} else {
			$download_type = 'plugin/theme';
		}

		if ( 'dev' === $version ) {
			$response->download_link = $link . $response->slug . '.zip';
			$response->version       = 'Development Version';
		} else {
			$response->download_link = $link . $response->slug . '.' . $version . '.zip';
			$response->version       = $version;

			// check if the requested version exists
			$response      = wp_remote_head( $response->download_link );
			$response_code = wp_remote_retrieve_response_code( $response );
			if ( 200 !== (int) $response_code ) {
				if ( is_wp_error( $response ) ) {
					$error_msg = $response->get_error_message();
				} else {
					$error_msg = sprintf( 'HTTP code %d', $response_code );
				}
				WP_CLI::error(
					sprintf(
						"Can't find the requested %s's version %s in the WordPress.org %s repository (%s).",
						$download_type,
						$version,
						$download_type,
						$error_msg
					)
				);
			}
		}
	}
protected static function alter_api_response ( $ response , $ version ) { if ( $ response -> version === $ version ) { return ; } // WordPress.org forces https, but still sometimes returns http // See https://twitter.com/nacin/status/512362694205140992 $ response -> download_link = str_replace ( 'http://' , 'https://' , $ response -> download_link ) ; list ( $ link ) = explode ( $ response -> slug , $ response -> download_link ) ; if ( false !== strpos ( $ response -> download_link , '/theme/' ) ) { $ download_type = 'theme' ; } elseif ( false !== strpos ( $ response -> download_link , '/plugin/' ) ) { $ download_type = 'plugin' ; } else { $ download_type = 'plugin/theme' ; } if ( 'dev' === $ version ) { $ response -> download_link = $ link . $ response -> slug . '.zip' ; $ response -> version = 'Development Version' ; } else { $ response -> download_link = $ link . $ response -> slug . '.' . $ version . '.zip' ; $ response -> version = $ version ; // check if the requested version exists $ response = wp_remote_head ( $ response -> download_link ) ; $ response_code = wp_remote_retrieve_response_code ( $ response ) ; if ( 200 !== ( int ) $ response_code ) { if ( is_wp_error ( $ response ) ) { $ error_msg = $ response -> get_error_message ( ) ; } else { $ error_msg = sprintf ( 'HTTP code %d' , $ response_code ) ; } WP_CLI :: error ( sprintf ( "Can't find the requested %s's version %s in the WordPress.org %s repository (%s)." , $ download_type , $ version , $ download_type , $ error_msg ) ) ; } } }
Prepare an API response for downloading a particular version of an item.

@param object $response wordpress.org API response
@param string $version The desired version of the package
Prepare an API response for downloading a particular version of an item .