From 3da5adca28c4ce095a824f27fd782513844dda4a Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 29 Mar 2020 13:05:11 +1100 Subject: [PATCH] GET request now can be provided with query parameters, and works OK --- lib/api.dart | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/api.dart b/lib/api.dart index 48fe7ce8..c380f573 100644 --- a/lib/api.dart +++ b/lib/api.dart @@ -94,7 +94,7 @@ class InvenTreeAPI { final data = json.decode(response.body); // We expect certain response from the server - if (!data.containsKey("sedrver") || !data.containsKey("version")) { + if (!data.containsKey("server") || !data.containsKey("version")) { print("Incorrect keys in server response"); return false; } @@ -106,7 +106,7 @@ class InvenTreeAPI { print("Error trying connection"); print(error); - return; + return false; }); // Here we have received a response object which is valid @@ -200,11 +200,25 @@ class InvenTreeAPI { } // Perform a GET request - Future get(String url) async { + Future get(String url, {Map params}) async { var _url = _makeUrl(url); var _headers = _defaultHeaders(); + // If query parameters are supplied, form a query string + if (params != null && params.isNotEmpty) { + String query = '?'; + + params.forEach((K, V) => query += K + '=' + V + '&'); + + _url += query; + } + + // Remove extraneous character if present + if (_url.endsWith('&')) { + _url = _url.substring(0, _url.length - 1); + } + print("GET: " + _url); final response = await http.get(_url,