diff --git a/sky/packages/sky/lib/src/services/fetch.dart b/sky/packages/sky/lib/src/services/fetch.dart index 7a9253628d9c2..047241bf070de 100644 --- a/sky/packages/sky/lib/src/services/fetch.dart +++ b/sky/packages/sky/lib/src/services/fetch.dart @@ -36,24 +36,25 @@ class Response { } Future fetch(UrlRequest request) async { + UrlLoaderProxy loader = new UrlLoaderProxy.unbound(); try { - UrlLoaderProxy loader = new UrlLoaderProxy.unbound(); _networkService.ptr.createUrlLoader(loader); UrlResponse response = (await loader.ptr.start(request)).response; - loader.close(); return response; } catch (e) { print("NetworkService unavailable $e"); return new UrlResponse()..statusCode = 500; + } finally { + loader.close(); } } -Future fetchUrl(String relativeUrl) async { +Future fetchUrl(String relativeUrl) { String url = Uri.base.resolve(relativeUrl).toString(); UrlRequest request = new UrlRequest() ..url = url ..autoFollowRedirects = true; - return await fetch(request); + return fetch(request); } Future fetchBody(String relativeUrl) async {