onRequest method
void
onRequest(
- RequestOptions requestOptions,
- RequestInterceptorHandler requestInterceptorHandler
Dio Interceptor
`s onRequest configuration intended to catch and return
mocked request and data respectively.
Implementation
@override
void onRequest(requestOptions, requestInterceptorHandler) async {
await setDefaultRequestHeaders(dio, requestOptions);
final response = await mockResponse(requestOptions);
if (response == null) {
requestInterceptorHandler.next(requestOptions);
return;
}
// Reject the response if type is MockDioException.
if (isMockDioException(response)) {
requestInterceptorHandler.reject(response as DioException);
return;
}
final responseBody = response as MockResponseBody;
requestInterceptorHandler.resolve(
Response(
data: await dio.transformer.transformResponse(
requestOptions,
responseBody,
),
headers: Headers.fromMap(responseBody.headers),
isRedirect: responseBody.isRedirect,
redirects: responseBody.redirects ?? [],
requestOptions: requestOptions,
statusCode: responseBody.statusCode,
statusMessage: responseBody.statusMessage,
),
);
}