33 lines
1.4 KiB
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;
|
|
}
|