From a04463eeeb55ad50522ab3cc124bac0bad44eb06 Mon Sep 17 00:00:00 2001 From: koudle Date: Fri, 23 Nov 2018 00:34:18 +0800 Subject: [PATCH 1/3] fix issue #20 --- example/src/examples/http_proxy_repository.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/src/examples/http_proxy_repository.dart b/example/src/examples/http_proxy_repository.dart index 8ba1df8..844e273 100644 --- a/example/src/examples/http_proxy_repository.dart +++ b/example/src/examples/http_proxy_repository.dart @@ -28,7 +28,7 @@ class HttpProxyRepository extends PackageRepository { http.Response response = await client.get(versionUrl); var json = convert.json.decode(response.body); - var versions = json['versions'] as List; + var versions = json['versions'] as List; if (versions != null) { for (var item in versions) { var pubspec = item['pubspec']; From a610fa024fd977d96c09bd34dc02520ae3c9a6d5 Mon Sep 17 00:00:00 2001 From: koudle Date: Fri, 30 Nov 2018 01:31:57 +0800 Subject: [PATCH 2/3] fix crash when could not find package --- example/src/examples/cow_repository.dart | 9 ++++++--- .../src/examples/http_proxy_repository.dart | 20 +++++++++++-------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/example/src/examples/cow_repository.dart b/example/src/examples/cow_repository.dart index 4d86b5b..9e559ed 100644 --- a/example/src/examples/cow_repository.dart +++ b/example/src/examples/cow_repository.dart @@ -132,9 +132,12 @@ class _RemoteMetadataCache { var c = new Completer>(); _versions.putIfAbsent(package, () => new Set()); - remote.versions(package).toList().then((versions) { - _versions[package].addAll(versions); - c.complete(_versions[package]); + remote.versions(package) + .where((v) => v != null) + .toList() + .then((versions) { + _versions[package].addAll(versions); + c.complete(_versions[package]); }); return c; diff --git a/example/src/examples/http_proxy_repository.dart b/example/src/examples/http_proxy_repository.dart index 844e273..cd00c18 100644 --- a/example/src/examples/http_proxy_repository.dart +++ b/example/src/examples/http_proxy_repository.dart @@ -27,15 +27,19 @@ class HttpProxyRepository extends PackageRepository { baseUrl.resolve('/api/packages/${Uri.encodeComponent(package)}'); http.Response response = await client.get(versionUrl); - var json = convert.json.decode(response.body); - var versions = json['versions'] as List; - if (versions != null) { - for (var item in versions) { - var pubspec = item['pubspec']; - var pubspecString = convert.json.encode(pubspec); - yield new PackageVersion(pubspec['name'] as String, - pubspec['version'] as String, pubspecString); + if(response.statusCode == 200) { + var json = convert.json.decode(response.body); + var versions = json['versions'] as List; + if (versions != null) { + for (var item in versions) { + var pubspec = item['pubspec']; + var pubspecString = convert.json.encode(pubspec); + yield new PackageVersion(pubspec['name'] as String, + pubspec['version'] as String, pubspecString); + } } + }else{ + yield null; } } From 578d241cea2ea0383949c02ad72023b6b979d967 Mon Sep 17 00:00:00 2001 From: koudle Date: Fri, 30 Nov 2018 01:44:56 +0800 Subject: [PATCH 3/3] Revert "fix crash when could not find package" This reverts commit a610fa024fd977d96c09bd34dc02520ae3c9a6d5. --- example/src/examples/cow_repository.dart | 9 +++------ .../src/examples/http_proxy_repository.dart | 20 ++++++++----------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/example/src/examples/cow_repository.dart b/example/src/examples/cow_repository.dart index 9e559ed..4d86b5b 100644 --- a/example/src/examples/cow_repository.dart +++ b/example/src/examples/cow_repository.dart @@ -132,12 +132,9 @@ class _RemoteMetadataCache { var c = new Completer>(); _versions.putIfAbsent(package, () => new Set()); - remote.versions(package) - .where((v) => v != null) - .toList() - .then((versions) { - _versions[package].addAll(versions); - c.complete(_versions[package]); + remote.versions(package).toList().then((versions) { + _versions[package].addAll(versions); + c.complete(_versions[package]); }); return c; diff --git a/example/src/examples/http_proxy_repository.dart b/example/src/examples/http_proxy_repository.dart index cd00c18..844e273 100644 --- a/example/src/examples/http_proxy_repository.dart +++ b/example/src/examples/http_proxy_repository.dart @@ -27,19 +27,15 @@ class HttpProxyRepository extends PackageRepository { baseUrl.resolve('/api/packages/${Uri.encodeComponent(package)}'); http.Response response = await client.get(versionUrl); - if(response.statusCode == 200) { - var json = convert.json.decode(response.body); - var versions = json['versions'] as List; - if (versions != null) { - for (var item in versions) { - var pubspec = item['pubspec']; - var pubspecString = convert.json.encode(pubspec); - yield new PackageVersion(pubspec['name'] as String, - pubspec['version'] as String, pubspecString); - } + var json = convert.json.decode(response.body); + var versions = json['versions'] as List; + if (versions != null) { + for (var item in versions) { + var pubspec = item['pubspec']; + var pubspecString = convert.json.encode(pubspec); + yield new PackageVersion(pubspec['name'] as String, + pubspec['version'] as String, pubspecString); } - }else{ - yield null; } }