call method
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 {
while (!_initialized && _initProgress) {
await Future.delayed(Duration(milliseconds: 10));
}
if (!_initialized) {
await init();
}
late http.Response res;
http.BaseRequest request = prepareRequest(
method,
uri: Uri.parse(_endPoint + path),
headers: {..._headers!, ...headers},
params: params,
);
try {
request = await _interceptRequest(request);
final streamedResponse = await _httpClient.send(request);
res = await toResponse(streamedResponse);
res = await _interceptResponse(res);
return prepareResponse(
res,
responseType: responseType,
);
} catch (e) {
if (e is AppwriteException) {
rethrow;
}
throw AppwriteException(e.toString());
}
}