stream_dio_log_interceptor.dart 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import 'package:dio/dio.dart';
  2. import 'package:flutter/foundation.dart';
  3. class StreamDioLogInterceptor extends Interceptor {
  4. @override
  5. void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
  6. if (kDebugMode) {
  7. debugPrint('Stream Request: method[${options.method}],'
  8. ' url[${options.uri}],'
  9. ' headers[${options.headers}]');
  10. }
  11. handler.next(options);
  12. }
  13. @override
  14. void onError(DioException err, ErrorInterceptorHandler handler) {
  15. if (kDebugMode) {
  16. debugPrint('Stream Error: type[${err.type}],'
  17. ' message[${err.message}],'
  18. ' error[${err.error}],'
  19. ' stackTrace[${err.stackTrace}]');
  20. }
  21. handler.next(err);
  22. }
  23. @override
  24. void onResponse(Response response, ResponseInterceptorHandler handler) {
  25. if (kDebugMode) {
  26. debugPrint('Stream Response: header[${response.headers}],'
  27. ' statusCode[${response.statusCode}],'
  28. ' statusMessage[${response.statusMessage}]');
  29. }
  30. handler.next(response);
  31. }
  32. }