droido library
Droido - Lightweight network debugging for Flutter
A debug-only network inspector with persistent notification UI. Zero impact on release builds through tree-shaking.
Features
- Network request/response logging for Dio, HTTP, and Retrofit
- Persistent notification showing request count
- In-app debug panel with search and filtering
- Export logs as JSON, HAR, or CSV
- Generate cURL commands
- Fully tree-shakable (zero release footprint)
Quick Start
import 'package:droido/droido.dart';
// Initialize with Dio
await Droido.init(
dio: dioInstance,
config: DroidoConfig(maxLogs: 500),
);
// Or with HTTP package
await Droido.init(httpClient: httpClient);
final client = Droido.httpClient!; // Use this for requests
// Or with Retrofit (uses Dio)
final dio = Dio();
await Droido.init(dio: dio);
final api = MyRetrofitClient(dio); // Automatically intercepted!
// Set notification tap callback
Droido.setNotificationCallback(() {
Navigator.push(
context,
MaterialPageRoute(builder: (_) => DroidoPanel()),
);
});
Classes
- Droido
- Main Droido API
- DroidoConfig
- Configuration for Droido initialization
- DroidoHttpClient
- Droido-wrapped HTTP client that intercepts all requests
- DroidoPanel
- Main Droido debug panel
- NetworkLog
- Domain entity representing a network request/response log
- NotificationResponse
- Details of a Notification Action that was triggered.
Extensions
- DroidoConfigPatterns on DroidoConfig
- Adds pattern-matching-related methods to DroidoConfig.
- NetworkLogPatterns on NetworkLog
- Adds pattern-matching-related methods to NetworkLog.