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.