mirror of
https://github.com/inventree/inventree-app.git
synced 2025-04-28 13:36:50 +00:00
Better error handling for URL parsing
This commit is contained in:
parent
8b5bd0f213
commit
374a387355
32
lib/api.dart
32
lib/api.dart
@ -710,7 +710,12 @@ class InvenTreeAPI {
|
|||||||
|
|
||||||
var client = createClient(true);
|
var client = createClient(true);
|
||||||
|
|
||||||
final uri = Uri.parse(_url);
|
Uri? uri = Uri.tryParse(_url);
|
||||||
|
|
||||||
|
if (uri == null) {
|
||||||
|
showServerError(L10().invalidHost, L10().invalidHostDetails);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
// Check for invalid host
|
// Check for invalid host
|
||||||
if (uri.host.isEmpty) {
|
if (uri.host.isEmpty) {
|
||||||
@ -718,8 +723,11 @@ class InvenTreeAPI {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HttpClientRequest? request;
|
||||||
|
|
||||||
|
try {
|
||||||
// Open a connection
|
// Open a connection
|
||||||
HttpClientRequest? request = await client.getUrl(uri)
|
request = await client.getUrl(uri)
|
||||||
.timeout(Duration(seconds: 10))
|
.timeout(Duration(seconds: 10))
|
||||||
.catchError((error) {
|
.catchError((error) {
|
||||||
print("GET request returned error");
|
print("GET request returned error");
|
||||||
@ -744,6 +752,26 @@ class InvenTreeAPI {
|
|||||||
|
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
} catch (error) {
|
||||||
|
if (error is FormatException) {
|
||||||
|
showServerError(
|
||||||
|
L10().invalidHost,
|
||||||
|
L10().invalidHostDetails)
|
||||||
|
;
|
||||||
|
} else if (error is SocketException) {
|
||||||
|
showServerError(
|
||||||
|
L10().connectionRefused,
|
||||||
|
error.toString()
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
showServerError(
|
||||||
|
L10().serverError,
|
||||||
|
error.toString()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
if (request == null) {
|
if (request == null) {
|
||||||
return null;
|
return null;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user