Olá
Estou com um problema no tratamento do erro de TimeoutException. Alterei o endereço de IP do http, e no console aparece a seguinte mensagem:
E/flutter ( 3414): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: SocketException: OS Error: No route to host, errno = 113, address = 192.168.13.12, port = 51648
Entretanto, o showDialog com o 'timeout submitting the transaction' não aparece. Abaixo segue o código do transaction_form
void _save(Transaction transactionCreated, String password, BuildContext context) async {
final Transaction? transaction = await _webClient.save(transactionCreated, password).catchError((e) {
showDialog(
context: context,
builder: (contextDialog) {
return FailureDialog('timeout submitting the transaction');
});
}, test: (e) => e is TimeoutException).catchError((e) {
showDialog(
context: context,
builder: (contextDialog) {
return FailureDialog(e.message);
});
}, test: (e) => e is HttpException);
if (transaction != null) {
await showDialog(
context: context,
builder: (contextDialog) {
return SuccessDialog('successful transaction');
}).then((value) => Navigator.pop(context));
}
}
}
E aqui como está meu transaction_webclient
final Response response = await client
.post(Uri.http('192.168.13.12:8080', 'transactions'),
headers: {
'Content-type': 'application/json',
'password': password,
},
body: transactionJson)
.timeout(Duration(seconds: 5));
Alguém mais está com o mesmo problema?