From d1cb4c515715abab1cee34366c99a3590c6a945c Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Sun, 16 Jun 2024 21:29:19 +0200 Subject: [PATCH] add http get timeouts --- app/lib/domain/services/generic_website.dart | 8 ++++++-- app/lib/domain/services/generic_website.g.dart | 2 +- app/lib/features/kagi/data/services/autosuggest.dart | 5 +++-- app/lib/features/kagi/data/services/autosuggest.g.dart | 2 +- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/lib/domain/services/generic_website.dart b/app/lib/domain/services/generic_website.dart index 29d84483..837c0ba0 100644 --- a/app/lib/domain/services/generic_website.dart +++ b/app/lib/domain/services/generic_website.dart @@ -53,7 +53,8 @@ class GenericWebsiteService extends _$GenericWebsiteService { Future> getInfo(Uri url) async { return Result.fromAsync( () async { - final response = await _client.get(url); + final response = + await _client.get(url).timeout(const Duration(seconds: 10)); return await compute( (args) { final document = html_parser.parse(args[0]); @@ -82,7 +83,10 @@ class GenericWebsiteService extends _$GenericWebsiteService { (result) => result.flatMapAsync( (info) async { if (info.favicon != null) { - return _client.get(info.favicon!.url).then((response) { + return _client + .get(info.favicon!.url) + .timeout(const Duration(seconds: 10)) + .then((response) { if (response.statusCode == 200) { return response.bodyBytes; } else { diff --git a/app/lib/domain/services/generic_website.g.dart b/app/lib/domain/services/generic_website.g.dart index 0516b553..a33fd476 100644 --- a/app/lib/domain/services/generic_website.g.dart +++ b/app/lib/domain/services/generic_website.g.dart @@ -7,7 +7,7 @@ part of 'generic_website.dart'; // ************************************************************************** String _$genericWebsiteServiceHash() => - r'6b9f74e6009c04c962273631cee0b1a595c4fa61'; + r'06ec407f4ed37b1b6370d48ad418b54131a08007'; /// See also [GenericWebsiteService]. @ProviderFor(GenericWebsiteService) diff --git a/app/lib/features/kagi/data/services/autosuggest.dart b/app/lib/features/kagi/data/services/autosuggest.dart index 9352146c..24c188d5 100644 --- a/app/lib/features/kagi/data/services/autosuggest.dart +++ b/app/lib/features/kagi/data/services/autosuggest.dart @@ -21,8 +21,9 @@ class KagiAutosuggestService extends _$KagiAutosuggestService { Future>> getSuggestions(String query) async { return Result.fromAsync( () async { - final response = - await _client.get(_baseUrl.replace(queryParameters: {'q': query})); + final response = await _client + .get(_baseUrl.replace(queryParameters: {'q': query})) + .timeout(const Duration(seconds: 5)); final results = jsonDecode(utf8.decode(response.bodyBytes)) as List; return switch (results.last) { diff --git a/app/lib/features/kagi/data/services/autosuggest.g.dart b/app/lib/features/kagi/data/services/autosuggest.g.dart index 46b84f80..43078ec2 100644 --- a/app/lib/features/kagi/data/services/autosuggest.g.dart +++ b/app/lib/features/kagi/data/services/autosuggest.g.dart @@ -7,7 +7,7 @@ part of 'autosuggest.dart'; // ************************************************************************** String _$kagiAutosuggestServiceHash() => - r'2c45eb0bf0f9d898b9198ee757be7f72cf9efd89'; + r'843b0d84b1dde2d903412a123c8c10d26e8036fd'; /// See also [KagiAutosuggestService]. @ProviderFor(KagiAutosuggestService)