installPluginFromUrl method

Future<MmStatusOK?> installPluginFromUrl(
  1. String pluginDownloadUrl, {
  2. String? force,
})

Install plugin from url

Supply a URL to a plugin compressed in a .tar.gz file. Plugins must be enabled in the server's config settings. ##### Permissions Must have manage_system permission. Minimum server version: 5.14

Parameters:

  • String pluginDownloadUrl (required): URL used to download the plugin

  • String force: Set to 'true' to overwrite a previously installed plugin with the same ID, if any

Implementation

Future<MmStatusOK?> installPluginFromUrl(
  String pluginDownloadUrl, {
  String? force,
}) async {
  final response = await installPluginFromUrlWithHttpInfo(
    pluginDownloadUrl,
    force: force,
  );
  if (response.statusCode >= HttpStatus.badRequest) {
    throw MmApiException(response.statusCode, await _decodeBodyBytes(response));
  }
  // When a remote server returns no body with a status of 204, we shall not decode it.
  // At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
  // FormatException when trying to decode an empty string.
  if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
    return await apiClient.deserializeAsync(
      await _decodeBodyBytes(response),
      'MmStatusOK',
    ) as MmStatusOK;
  }
  return null;
}