fetch method
DioAdapter`s fetch configuration intended to work with mock data.
Returns a Future<ResponseBody> from history based on RequestOptions
.
Implementation
@override
Future<ResponseBody> fetch(
RequestOptions requestOptions,
Stream<Uint8List>? requestStream,
Future? cancelFuture,
) async {
if (_isClosed) {
logger.e('Cannot establish connection after [$runtimeType] got closed!');
throw ClosedException(
'Cannot establish connection after [$runtimeType] got closed!',
);
}
await setDefaultRequestHeaders(dio, requestOptions);
final response = await mockResponse(requestOptions) as MockResponse;
// Waits for defined duration.
if (response.delay != null) await Future.delayed(response.delay!);
// Throws DioException if response type is MockDioException.
if (isMockDioException(response)) throw response as DioException;
return response as MockResponseBody;
}