call method
Implementation
Future<dynamic> call({
String? path,
required Method method,
Map<String, dynamic>? params,
Map<String, dynamic>? body,
Map<String, dynamic>? headers,
Map<int, Function> statusCodeHandlers = const {},
}) async {
try {
final Response<dynamic> response = await dio.request(
path ?? '',
queryParameters: params,
data: body,
options: Options(
method: methodToString(method),
headers: headers,
),
);
return response.data;
} on DioException catch (e) {
logger.e(e);
switch (e.type) {
case DioExceptionType.connectionError:
case DioExceptionType.connectionTimeout:
throw InternalServerException();
default:
throw UnknownException();
}
} catch (e) {
logger.e(e);
rethrow;
}
}