cfug/dio

A powerful HTTP client for Dart and Flutter, which supports global settings, Interceptors, FormData, aborting and canceling a request, files uploading and...

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 58 minutes ago
Added to GitGenius on September 4th, 2026
Created on April 20th, 2018
Open Issues & Pull Requests: 36 (+0)
GitHub issues: Enabled
Number of forks: 1,560
Total Stargazers: 12,839 (+0)
Total Subscribers: 161 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 24.5 hours
Mean response time: 58.0 days
90th percentile: 48.4 days
Tracked items: 186

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Work labelled "i: out of support" is answered fastest, typically in about an hour, while "i: no useful information" waits about 7 days. Only 7% of issues opened in the past year have been closed. Three people close 83% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 15
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 664 days
Stale 30+ days: 11
Stale 90+ days: 11

Recent activity

Opened in 7 days: 2
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 3

Top labels

  • s: bug (27)
  • i: not related (25)
  • h: need triage (22)
  • s: feature (22)
  • i: out of support (14)
  • i: wontfix (14)
  • p: dio (13)
  • i: no useful information (12)

Detailed Description

dio is an HTTP client for Dart and Flutter that provides comprehensive networking capabilities including interceptors, global settings, form data handling, request cancellation, file operations, timeouts, and custom adapters.

The tool addresses the need for a full-featured HTTP client in Dart and Flutter applications by offering a layered architecture where requests pass through configurable interceptors, allowing developers to implement cross-cutting concerns like authentication, logging, and error handling. It supports aborting and canceling requests mid-flight, uploading and downloading files with progress tracking, setting request timeouts, and swapping the underlying HTTP adapter to customize transport behavior.

Developers building Dart or Flutter applications that require sophisticated HTTP communication should consider dio if they need interceptor-based middleware, fine-grained request lifecycle control, or the ability to swap HTTP implementations. The project is structured as a monorepo with a core dio package and optional plugins for cookie management, HTTP/2 support, native platform adapters, and web compatibility, allowing teams to adopt only the components they need. The README notes that breaking changes can occur in major and minor versions, so upgrading requires consulting the migration guide.

The project maintains a structured plugin ecosystem with separate packages for specialized functionality rather than bundling everything into the core. Development activity shows attention to compatibility across Dart and Flutter platforms through dedicated adapters for native, web, and HTTP/2 scenarios. The maintainers document a formal compatibility policy and provide migration guidance for version upgrades, indicating deliberate management of the project's evolution.