Dio Interceptor Plus

A powerful and customizable Dio interceptor for logging HTTP requests and responses in Dart and Flutter applications.

Installation

Add the following to your pubspec.yaml:

dependencies:
  dio_interceptor_plus: [latest_version]

Import it

Now in your Dart code, you can use:

import 'package:dio_interceptor_plus/dio_interceptor_plus.dart';

Then run:

$ flutter pub get

Usage

Logging HTTP requests and responses is essential for debugging and understanding how your app interacts with APIs. The Dio Logging Interceptor is designed to provide detailed and customizable logs, aiding developers in troubleshooting and optimizing network-related issues.

Features

  • Comprehensive Logging: Capture detailed information about each HTTP request and its corresponding response.
  • Customizable Output: Tailor the log output to suit your preferences, enabling or disabling specific details.
  • Easy Integration: Seamless integration with the popular Dio HTTP client library. Versatility: Suitable for both Dart and Flutter projects.

Example

import 'package:dio/dio.dart';
import 'package:dio_interceptor_plus/dio_interceptor_plus.dart';
import 'package:flutter/cupertino.dart';

void main() async {
  // Create Dio instance
  final dio = Dio();

  // Add logging interceptor for request and response
  dio.interceptors.add(LoggingInterceptor());

  // Example HTTP Request
  try {
    await dio.get('https://jsonplaceholder.typicode.com/posts/1');
  } catch (e) {
    // Handle errors
    debugPrint('Error: $e');
  }
}

Output

🚀 🌐 Request 🌐 🚀
🔗 URL: https://jsonplaceholder.typicode.com/posts/1
🤔 Method: GET
📋 Headers: {}
🔍 Query Parameters: {}
📤 Request Data: null
---------------------
✅ 🌐 Response 🌐 ✅
🔗 URL: https://jsonplaceholder.typicode.com/posts/1
🔒 Status Code: 200
📋 Headers: {"cache-control":["max-age=43200"],"content-type":["application/json; charset=utf-8"],"expires":["-1"],"pragma":["no-cache"]}
📥 Response Data: {userId: 1, id: 1, title: sunt aut facere repellat provident occaecati excepturi optio reprehenderit, body: quia et suscipit
suscipit recusandae consequuntur expedita et cum
reprehenderit molestiae ut ut quas totam
nostrum rerum est autem sunt rem eveniet architecto}
-----------------------

Configuration

You can customize the logging behavior by adjusting the LoggingInterceptor class in your project. Explore the options available to tailor the logs according to your specific needs.

License

This package is distributed under the MIT License. See LICENSE for details.