mirror of
				https://github.com/inventree/inventree-app.git
				synced 2025-10-30 04:45:39 +00:00 
			
		
		
		
	Add better error handling for API
This commit is contained in:
		
							
								
								
									
										13
									
								
								lib/api.dart
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								lib/api.dart
									
									
									
									
									
								
							| @@ -182,15 +182,22 @@ class InvenTreeAPI { | ||||
|     var response = await get("").timeout(Duration(seconds: 10)).catchError((error) { | ||||
|  | ||||
|       if (error is SocketException) { | ||||
|         errorMessage = "Could not connect to server."; | ||||
|         print(errorMessage); | ||||
|         throw errorMessage; | ||||
|         print("Could not connect to server"); | ||||
|         return null; | ||||
|       } else if (error is TimeoutException) { | ||||
|         print("Server timeout"); | ||||
|         return null; | ||||
|       } else { | ||||
|         // Unknown error type, re-throw error | ||||
|         print("Unknown error: ${error.toString()}"); | ||||
|         throw error; | ||||
|       } | ||||
|     }); | ||||
|  | ||||
|     if (response == null) { | ||||
|       return false; | ||||
|     } | ||||
|  | ||||
|     if (response.statusCode != 200) { | ||||
|       print("Invalid status code: " + response.statusCode.toString()); | ||||
|       return false; | ||||
|   | ||||
| @@ -134,22 +134,6 @@ class _MyHomePageState extends State<MyHomePage> { | ||||
|         onConnectFailure("Could not connect to server"); | ||||
|       } | ||||
|  | ||||
|     }).catchError((e) { | ||||
|  | ||||
|       String fault = "Connection error"; | ||||
|  | ||||
|       _serverConnection = false; | ||||
|       _serverStatusColor = Color.fromARGB(255, 250, 50, 50); | ||||
|  | ||||
|       _serverStatus = "Error connecting to $_serverAddress"; | ||||
|  | ||||
|       if (e is TimeoutException) { | ||||
|         fault = "Timeout: No response from server"; | ||||
|       } else { | ||||
|         fault = e.toString(); | ||||
|       } | ||||
|  | ||||
|       onConnectFailure(fault); | ||||
|     }); | ||||
|  | ||||
|     // Update widget state | ||||
|   | ||||
		Reference in New Issue
	
	Block a user