call method

  1. @override
Future<Response> call(
  1. HttpMethod method, {
  2. String path = '',
  3. Map<String, String> headers = const {},
  4. Map<String, dynamic> params = const {},
  5. ResponseType? responseType,
})

Send the API request.

Implementation

@override
Future<Response> call(
  HttpMethod method, {
  String path = '',
  Map<String, String> headers = const {},
  Map<String, dynamic> params = const {},
  ResponseType? responseType,
}) async {
  late http.Response res;
  http.BaseRequest request = prepareRequest(
    method,
    uri: Uri.parse(_endPoint + path),
    headers: {..._headers!, ...headers},
    params: params,
  );
  try {
    final streamedResponse = await _httpClient.send(request);
    res = await toResponse(streamedResponse);

    return prepareResponse(res, responseType: responseType);
  } catch (e) {
    if (e is AppwriteException) {
      rethrow;
    }
    throw AppwriteException(e.toString());
  }
}