awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dart-lang avatar

dart-lang/http

0
View on GitHub↗
1,098 stars·405 forks·Dart·BSD-3-Clause·2 viewspub.dev/packages/http↗

Http

This library provides a unified, cross-platform interface for executing HTTP requests and managing network communication in Dart applications. It functions as a composable client library that automatically resolves platform-specific network implementations, ensuring consistent behavior across mobile, desktop, and web environments.

The library distinguishes itself through a modular architecture that supports swappable transport layers and middleware, allowing developers to inject custom logic for logging, caching, or retries. It includes built-in support for resilient communication, such as configurable backoff strategies for handling temporary failures, and provides tools for mocking network traffic to facilitate reliable testing.

Beyond basic request execution, the library offers comprehensive support for persistent connection management, bidirectional WebSocket communication, and HTTP/2 protocols. It handles large data payloads through incremental stream-based processing to maintain memory efficiency and includes utilities for media type management, date formatting, and message serialization.

The project provides a standardized set of interfaces and diagnostic tools to monitor network traffic and verify implementation compliance. It is designed to be integrated into applications via dependency injection, enabling centralized control over network configurations and server endpoint aggregation.

Features

  • Cross-Platform Networking - Provides a unified interface for performing network operations that automatically selects the appropriate platform-specific implementation for consistent behavior.
  • Runtime Resolution Engines - Selects the appropriate underlying network engine at runtime based on the target environment like mobile, desktop, or web.
  • Cross-Platform HTTP Clients - Builds consistent network communication layers that function seamlessly across mobile, desktop, and web environments using a unified interface.
  • HTTP Client Libraries - Functions as a composable library for executing HTTP requests and managing network communication across mobile, desktop, and web platforms.
  • HTTP Request Execution - Provides a composable interface for sending individual or persistent network requests, supporting both simple one-off calls and long-lived connections.
  • Retry and Backoff Logic - Implements automated retry strategies and exponential backoff to handle network instability.
  • Streaming Transfers - Handles large payloads and continuous data streams efficiently by processing network responses incrementally to prevent memory exhaustion.
  • Bidirectional WebSocket Streaming - Provides a stream-based interface for establishing and managing bidirectional connections between clients and servers in a cross-platform environment.
  • HTTP Payload Streaming - Processes large HTTP request and response bodies using incremental streams to maintain memory efficiency.
  • HTTP/2 Support - Supports bidirectional communication channels using the HTTP/2 protocol, enabling efficient data streaming and multiplexed request handling.
  • HTTP Message Serialization - Converts raw data into structured HTTP messages and serializes objects into standard HTTP formats for reliable cross-platform compatibility.
  • Network Implementation Switching - Provides mechanisms to swap between platform-provided services and embedded library implementations for network operations.
  • Protocol-Agnostic Interfaces - Provides a unified API for interacting with various network protocols including HTTP/1.1, HTTP/2, and WebSockets.
  • Transport Abstraction Layers - Decouples high-level request logic from platform-specific network implementations using a swappable interface pattern.
  • Persistent HTTP Connections - Maintains long-lived client sessions to reuse underlying network connections and reduce handshake overhead.
  • Resilient Communication - Improves application reliability by implementing automatic retry strategies and configurable backoff logic for handling temporary network failures.
  • WebSocket Managers - Provides a unified, stream-based interface for managing bidirectional WebSocket connections and state.
  • Incremental Stream Processing - Handles large payloads incrementally as asynchronous byte streams to prevent memory exhaustion during network transfers.
  • Composable Middleware Pipelines - Enables wrapping network clients with additional logic to handle concerns like retries, logging, or caching transparently.
  • API Request Mocking - Intercepts network requests to simulate server responses and verify application behavior during testing.
  • HTTP Testing Utilities - Provides tools for mocking network traffic and validating client compliance to ensure reliable application behavior during development.

Star history

Star history chart for dart-lang/httpStar history chart for dart-lang/http

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Curated searches featuring Http

Hand-picked collections where Http appears.
  • Dart HTTP Client Libraries

Open-source alternatives to Http

Similar open-source projects, ranked by how many features they share with Http.
  • rest-client/rest-clientrest-client avatar

    rest-client/rest-client

    5,215View on GitHub↗

    This is a Ruby HTTP client designed for REST API integration, resource modeling, and automated network communication. It provides a set of tools for managing headers, cookies, and SSL configurations, along with a dedicated command-line interface for executing one-off HTTP commands and managing interactive API testing sessions. The project differentiates itself through its resource modeling capabilities, which allow for the definition of persistent base URLs and credentials to construct nested subresource endpoints. It also features a multipart request handler that detects MIME types to upload

    Ruby
    View on GitHub↗5,215
  • pokeb/asi-http-requestpokeb avatar

    pokeb/asi-http-request

    5,731View on GitHub↗

    This project is an Objective-C HTTP networking library that provides an object-oriented wrapper for CFNetwork to execute synchronous and asynchronous requests on macOS and iOS. It functions as a framework for managing HTTP sessions, performing resumable file transfers, and handling offline content caching. The library distinguishes itself through a resumable file transfer manager that tracks byte offsets and utilizes disk-backed streaming for large uploads and downloads. It also includes a secure credential manager that integrates with the system keychain to handle client certificates and aut

    Objective-C
    View on GitHub↗5,731
  • wendux/flyW

    wendux/fly

    3,927View on GitHub↗

    Fly is an HTTP client library and cross-platform network wrapper that provides a unified Promise-based interface for managing network requests across diverse JavaScript runtimes and operating systems. It functions as a multi-runtime request manager, abstracting underlying HTTP engines to ensure consistent behavior between browsers and native environments. The library features a middleware system for capturing and modifying outgoing requests and incoming responses through a request interceptor pipeline. It employs adapter-based engine switching to maintain a consistent API across different pla

    JavaScript
    View on GitHub↗3,927
  • cfug/diocfug avatar

    cfug/dio

    12,828View on GitHub↗

    Dio is a cross-platform HTTP client for Dart designed to manage network requests and data communication across mobile and desktop applications. It provides a comprehensive framework for executing standard web operations while handling complex tasks such as request lifecycles, connection security, and global configuration. The library distinguishes itself through an extensible architecture that allows developers to hook into the request and response pipeline. By utilizing interceptors and custom network adapters, users can modify traffic, perform authentication, and swap underlying networking

    Dartadaptercancellabledart
    View on GitHub↗12,828
See all 30 alternatives to Http→

Frequently asked questions

What does dart-lang/http do?

This library provides a unified, cross-platform interface for executing HTTP requests and managing network communication in Dart applications. It functions as a composable client library that automatically resolves platform-specific network implementations, ensuring consistent behavior across mobile, desktop, and web environments.

What are the main features of dart-lang/http?

The main features of dart-lang/http are: Cross-Platform Networking, Runtime Resolution Engines, Cross-Platform HTTP Clients, HTTP Client Libraries, HTTP Request Execution, Retry and Backoff Logic, Streaming Transfers, Bidirectional WebSocket Streaming.

What are some open-source alternatives to dart-lang/http?

Open-source alternatives to dart-lang/http include: rest-client/rest-client — This is a Ruby HTTP client designed for REST API integration, resource modeling, and automated network communication.… pokeb/asi-http-request — This project is an Objective-C HTTP networking library that provides an object-oriented wrapper for CFNetwork to… wendux/fly — Fly is an HTTP client library and cross-platform network wrapper that provides a unified Promise-based interface for… cfug/dio — Dio is a cross-platform HTTP client for Dart designed to manage network requests and data communication across mobile… jnunemaker/httparty — HTTParty is a Ruby HTTP client library designed for building standardized API clients. It abstracts low-level network… kittinunf/fuel — Fuel is a Kotlin HTTP client library for Android and Kotlin applications that handles both synchronous and…