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 {
await init();
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);
final cookieFallback = res.headers['x-fallback-cookies'];
if (cookieFallback != null) {
debugPrint(
'Appwrite is using localStorage for session management. Increase your security by adding a custom domain as your API endpoint.');
addHeader('X-Fallback-Cookies', cookieFallback);
web.window.localStorage['cookieFallback'] = cookieFallback;
}
return prepareResponse(res, responseType: responseType);
} catch (e) {
if (e is AppwriteException) {
rethrow;
}
throw AppwriteException(e.toString());
}
}