onResponse method
Handles API response interception
@param response The API response @param handler The interceptor handler
Implementation
@override
void onResponse(Response response, ResponseInterceptorHandler handler) {
if (DevUILogger.instance.isLogEnabled == true) {
try {
final mockApi = DevUILogger.instance
.getMockApi(response.requestOptions.uri.toString());
if (mockApi?.type == MockType.response) {
response.data = mockApi?.mockResponse;
response.statusCode = 200;
}
DevUILogger.instance.completeRequest(
CompleteRequestParams(
key: response.requestOptions,
responseData: response.data,
responseHeader: response.headers.map,
requestContentLength: int.tryParse(
response.requestOptions.headers['content-length']?.toString() ??
'',
),
responseContentLength: int.tryParse(
response.headers['content-length']?.firstOrNull?.toString() ?? '',
),
httpCode: response.statusCode,
),
);
} catch (e, stack) {
Completer().completeError(e, stack);
} finally {
DevUILogger.instance.removeRequestModel(response.requestOptions);
}
}
return handler.next(response);
}