networking

- Use Dio as the primary HTTP client package.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "networking" with this command: npx skills add dhruvanbhalara/skills/dhruvanbhalara-skills-networking

Networking with Dio

  • Use Dio as the primary HTTP client package.

  • Use type-safe model classes with fromJson / toJson factories for all request/response bodies.

  • Handle all HTTP status codes appropriately with typed exceptions (e.g., ServerException , NetworkException , UnauthorizedException ).

  • Use proper request timeouts (connectTimeout , receiveTimeout , sendTimeout ).

Dio Interceptors

  • Use interceptors for cross-cutting concerns:

  • Auth Interceptor: Attach access tokens to headers, handle token refresh on 401.

  • Logging Interceptor: Log requests/responses in debug mode via AppLogger .

  • Error Interceptor: Transform DioException into domain-specific Failure types.

  • Register interceptors centrally via injectable for consistent behavior across all API calls.

Repository Pattern

  • DataSources contain only raw Dio API calls — no business logic or mapping

  • Repositories orchestrate between remote DataSources and local cache for network data

Retry & Resilience

  • Implement retry logic with exponential backoff for transient failures (e.g., 500, timeout).

  • Set a maximum retry count (default: 3 retries).

  • Cache responses when appropriate to reduce network calls and improve offline UX.

Performance

  • Parse JSON in background isolates for large responses (> 1MB) using compute()

  • Do NOT block the UI thread with synchronous network operations

Security

  • Store tokens via flutter_secure_storage — never in source code or SharedPreferences

  • All API communication MUST use HTTPS

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

flutter-code-gen

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

github-actions

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

github-pr

No summary provided by upstream source.

Repository SourceNeeds Review