getPackageVersion method

Future<Response> getPackageVersion(
  1. Request req,
  2. String name,
  3. String version
)

Implementation

Future<shelf.Response> getPackageVersion(
    shelf.Request req, String name, String version) async {
  version = Uri.decodeComponent(version); // + -> %2B
  var pkg = await metaRepo.query(name);
  if (pkg == null) {
    return _pubDevPkg(name);
  }
  var packageVersion =
      pkg.versions.firstWhereOrNull((it) => it.version == version);
  if (packageVersion == null) {
    return shelf.Response.notFound(null);
  }
  return _ok(packageVersion.toJson());
}