get method

Future<WebResponse> get({
  1. required String path,
  2. Map<String, dynamic>? queryParams,
})

Implementation

Future<WebResponse> get(
    {required String path, Map<String, dynamic>? queryParams}) async {
  var url = '${_removeTrailingSlash(baseUrl)}/${_removeLeadingSlash(path)}';

  if (queryParams != null && queryParams.isNotEmpty) {
    final queryString = _buildQueryString(queryParams);
    url += queryString;
  }

  final response =
      await RequestsPlus.get(url, withCredentials: true, timeoutSeconds: 60)
          .onError((e, s) {
    throw Exception('GET request failed: ${e.toString()}');
  });

  if (response.success) {
    return WebResponse(body: response.body);
  } else if (response.statusCode == 401) {
    appManager.clearCurrentUser();
    return WebResponse.unAuthorized(response.body);
  } else {
    return WebResponse.systemError(response.body);
  }
}