ionic-planb-logistic-app-fl.../lib/utils/logging_interceptor.dart

33 lines
1.4 KiB
Dart

import 'package:http_interceptor/http_interceptor.dart';
class LoggingInterceptor implements InterceptorContract {
@override
Future<BaseRequest> 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<BaseResponse> 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<bool> shouldInterceptRequest() async => true;
@override
Future<bool> shouldInterceptResponse() async => true;
}