add http get timeouts
This commit is contained in:
@@ -53,7 +53,8 @@ class GenericWebsiteService extends _$GenericWebsiteService {
|
|||||||
Future<Result<WebPageInfo>> getInfo(Uri url) async {
|
Future<Result<WebPageInfo>> getInfo(Uri url) async {
|
||||||
return Result.fromAsync(
|
return Result.fromAsync(
|
||||||
() async {
|
() async {
|
||||||
final response = await _client.get(url);
|
final response =
|
||||||
|
await _client.get(url).timeout(const Duration(seconds: 10));
|
||||||
return await compute(
|
return await compute(
|
||||||
(args) {
|
(args) {
|
||||||
final document = html_parser.parse(args[0]);
|
final document = html_parser.parse(args[0]);
|
||||||
@@ -82,7 +83,10 @@ class GenericWebsiteService extends _$GenericWebsiteService {
|
|||||||
(result) => result.flatMapAsync(
|
(result) => result.flatMapAsync(
|
||||||
(info) async {
|
(info) async {
|
||||||
if (info.favicon != null) {
|
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) {
|
if (response.statusCode == 200) {
|
||||||
return response.bodyBytes;
|
return response.bodyBytes;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ part of 'generic_website.dart';
|
|||||||
// **************************************************************************
|
// **************************************************************************
|
||||||
|
|
||||||
String _$genericWebsiteServiceHash() =>
|
String _$genericWebsiteServiceHash() =>
|
||||||
r'6b9f74e6009c04c962273631cee0b1a595c4fa61';
|
r'06ec407f4ed37b1b6370d48ad418b54131a08007';
|
||||||
|
|
||||||
/// See also [GenericWebsiteService].
|
/// See also [GenericWebsiteService].
|
||||||
@ProviderFor(GenericWebsiteService)
|
@ProviderFor(GenericWebsiteService)
|
||||||
|
|||||||
@@ -21,8 +21,9 @@ class KagiAutosuggestService extends _$KagiAutosuggestService {
|
|||||||
Future<Result<List<String>>> getSuggestions(String query) async {
|
Future<Result<List<String>>> getSuggestions(String query) async {
|
||||||
return Result.fromAsync(
|
return Result.fromAsync(
|
||||||
() async {
|
() async {
|
||||||
final response =
|
final response = await _client
|
||||||
await _client.get(_baseUrl.replace(queryParameters: {'q': query}));
|
.get(_baseUrl.replace(queryParameters: {'q': query}))
|
||||||
|
.timeout(const Duration(seconds: 5));
|
||||||
|
|
||||||
final results = jsonDecode(utf8.decode(response.bodyBytes)) as List;
|
final results = jsonDecode(utf8.decode(response.bodyBytes)) as List;
|
||||||
return switch (results.last) {
|
return switch (results.last) {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ part of 'autosuggest.dart';
|
|||||||
// **************************************************************************
|
// **************************************************************************
|
||||||
|
|
||||||
String _$kagiAutosuggestServiceHash() =>
|
String _$kagiAutosuggestServiceHash() =>
|
||||||
r'2c45eb0bf0f9d898b9198ee757be7f72cf9efd89';
|
r'843b0d84b1dde2d903412a123c8c10d26e8036fd';
|
||||||
|
|
||||||
/// See also [KagiAutosuggestService].
|
/// See also [KagiAutosuggestService].
|
||||||
@ProviderFor(KagiAutosuggestService)
|
@ProviderFor(KagiAutosuggestService)
|
||||||
|
|||||||
Reference in New Issue
Block a user