import 'package:http_interceptor/http_interceptor.dart'; class LoggingInterceptor implements InterceptorContract { @override Future interceptRequest({required BaseRequest request}) async { print('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'); print('📤 REQUEST: ${request.method} ${request.url}'); print('Headers: ${request.headers}'); if (request is Request) { print('Body: ${request.body}'); } print('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'); return request; } @override Future interceptResponse({required BaseResponse response}) async { print('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'); print('📥 RESPONSE: ${response.statusCode} ${response.request?.url}'); if (response is Response) { print('Body: ${response.body}'); } print('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'); return response; } @override Future shouldInterceptRequest() async => true; @override Future shouldInterceptResponse() async => true; }