From f66018d36b518371fbe8bcbe651b8bfa9805e653 Mon Sep 17 00:00:00 2001 From: Ming Ming Date: Thu, 5 Aug 2021 12:50:36 +0800 Subject: [PATCH] API request with query params --- lib/api/api.dart | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/api/api.dart b/lib/api/api.dart index 948f860b..34b4a9b4 100644 --- a/lib/api/api.dart +++ b/lib/api/api.dart @@ -43,11 +43,12 @@ class Api { String method, String endpoint, { Map? header, + Map? queryParameters, String? body, Uint8List? bodyBytes, bool isResponseString = true, }) async { - final url = _makeUri(endpoint); + final url = _makeUri(endpoint, queryParameters: queryParameters); final req = http.Request(method, url) ..headers.addAll({ "authorization": getAuthorizationHeaderValue(_account), @@ -87,16 +88,19 @@ class Api { isResponseString ? response.body : response.bodyBytes); } - Uri _makeUri(String endpoint) { + Uri _makeUri( + String endpoint, { + Map? queryParameters, + }) { final splits = _account.address.split("/"); final authority = splits[0]; final path = splits.length > 1 ? splits.sublist(1).join("/") + "/$endpoint" : endpoint; if (_account.scheme == "http") { - return Uri.http(authority, path); + return Uri.http(authority, path, queryParameters); } else { - return Uri.https(authority, path); + return Uri.https(authority, path, queryParameters); } }