onResponse method
Called when the response is about to be resolved.
Implementation
@override
Future<void> onResponse(
Response response, ResponseInterceptorHandler handler) async {
final dateTime = DateTime.now();
if (InspectorController().userResponseStopperEnabled) {
final oldResponseData = response.data;
final newResponseData =
await InspectorController().editResponse(oldResponseData);
response.data = newResponseData ?? oldResponseData;
}
final urlAndQueryParMapEntry = _extractUrl(response.requestOptions);
final url = urlAndQueryParMapEntry.key;
final queryParameters = urlAndQueryParMapEntry.value;
InspectorController().addNewRequest(
RequestDetails(
requestMethod: RequestMethod.values
.firstWhere((e) => e.name == response.requestOptions.method),
url: url,
statusCode: response.statusCode ?? 0,
headers: response.requestOptions.headers,
queryParameters: queryParameters,
requestBody: response.requestOptions.data,
responseBody: response.data,
sentTime: response.requestOptions.extra['startTime'],
receivedTime: dateTime,
),
);
super.onResponse(response, handler);
}