onResponse method
Called when the response is about to be resolved.
Implementation
@override
void onResponse(Response response, ResponseInterceptorHandler handler) {
final options = response.requestOptions;
// Check for per-request overrides
final bool currentLogResponseBody =
options.extra['logResponseBody'] ?? logResponseBody;
final bool currentLogResponseHeader =
options.extra['logResponseHeader'] ?? logResponseHeader;
// Log the response status code and data
if (currentLogResponseHeader) {
logDebug('onResponse: Response Headers => ${response.headers}',
level: Level.debug);
}
if (currentLogResponseBody) {
logDebug(
'onResponse: StatusCode: ${response.statusCode}, Data: ${_prettyJsonEncode(response.data)}',
level: Level.debug); // Log formatted response data
}
// Call the super class to continue handling the response
return super.onResponse(response, handler);
}