onNext method
Override this method and implement your custom logic inside it. After call await nextMiddleware.next(row) to run the next middleware in the chain.
Implementation
@override
Future<RowResponse> onNext(RowResponse row,
Middleware<RowResponse> nextMiddleware) async {
log('');
logDivider();
tabbedLog('← RESPONSE ←');
if (logParts.contains(LogParts.url)) {
final request = row.request;
_logUrl(request.method, request.url);
}
if (logParts.contains(LogParts.code)) {
final code = row.code;
if (code != null) {
tabbedLog('CODE: $code');
}
}
if (logParts.contains(LogParts.headers)) {
_logHeaders(row.headers ?? {});
}
if (logParts.contains(LogParts.body)) {
String? textBody;
try {
textBody = utf8.decode(row.bodyBytes!);
} on Exception {
//ignore
}
_logBody(textBody ?? row.bodyBytes);
}
logDivider();
return await nextMiddleware.next(row);
}