30 open-source projects similar to dart-lang/http, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Http alternative.
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
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
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
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
HTTParty is a Ruby HTTP client library designed for building standardized API clients. It abstracts low-level network primitives into a high-level interface, allowing developers to encapsulate base URIs and request configurations within classes to maintain consistent interactions with remote web services. The library automates the transformation of raw network response data into native Ruby structures by using a registry-based system that parses content based on response headers. It also provides specialized mechanisms for sending multipart form data and streaming large payloads to maintain m
Fuel is a Kotlin HTTP client library for Android and Kotlin applications that handles both synchronous and asynchronous web requests. It functions as a network wrapper that supports executing calls via suspending functions in coroutines, reactive streams, and traditional callbacks. The library features built-in integration for Android LiveData to bind network responses directly to observable state holders for user interface updates. It also includes a JSON serialization client that utilizes customizable mappers to convert raw HTTP response bodies into structured data objects. Capability area
node-fetch is a promise-based HTTP client library that provides a lightweight implementation of the Fetch API for the Node.js runtime. It serves as a network interface for performing asynchronous HTTP requests, handling server communication, and managing headers. The library utilizes a promise-based request lifecycle to wrap network calls, ensuring asynchronous behavior. It incorporates stream-based handling for both requests and responses to process large payloads efficiently without overloading system memory. Its capabilities cover a broad range of network communication tasks, including th
node-fetch is a lightweight HTTP client library that implements the browser-standard Fetch API for Node.js. It provides a promise-based interface for making asynchronous network requests to retrieve or send data from server-side environments. The project specializes in memory-efficient data handling by utilizing request and response streaming. This allows for the incremental processing of large network payloads through native system streams to prevent memory exhaustion. The library covers a broad range of networking capabilities, including the use of custom HTTP agents for DNS and SSL config
Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration, response parsing, and error handling. It functions as a network request manager and middleware framework for managing the end-to-end lifecycle of HTTP calls. The project is distinguished by a fluent interface for request configuration and a modular extension system. It utilizes a programmable response resolver to automate parsing and a plugin-based architecture to add new capabilities to request and response objects. The library covers a broad range of operational capabilities,
Practicalnode is a comprehensive educational resource and backend development framework for mastering server-side programming with Node.js. It provides a structured approach to building scalable network services, REST APIs, and real-time applications using asynchronous JavaScript. The project serves as a detailed implementation guide for several core backend patterns, including MongoDB data modeling and the construction of REST API development kits. It emphasizes a specific workflow for Docker containerization and offers a variety of strategies for managing user identity through stateless tok
This library is a PHP HTTP client designed for executing synchronous and asynchronous network requests. It provides a standards-compliant implementation of the PSR-18 interface, enabling consistent interaction with remote web services and external systems. The library distinguishes itself through an abstraction-layered architecture that decouples the request interface from specific network drivers. It utilizes a middleware-driven pipeline to process requests and responses, while employing a strategy pattern to parse raw network streams into structured objects based on content type. The syste
This is an HTTP client library used for sending and receiving network requests. It functions as an HTTP traffic replicator, a multipart form uploader, and an OAuth request signer, while also serving as an HTTP client capable of routing traffic through Unix domain sockets for local inter-process communication. The project distinguishes itself with the ability to import and parse HTTP Archive JSON files to reproduce recorded network traffic. It also provides cryptographic OAuth signing to secure API access using hashing algorithms and supports routing requests through Unix domain sockets using
Faraday is an HTTP client library for Ruby that sends requests and processes responses through a middleware pipeline with pluggable adapters. Its core identity is built around a middleware-pipeline architecture where HTTP requests and responses flow through a chain of components that can modify, log, or transform data before reaching the backend, combined with an adapter-based backend abstraction that delegates HTTP execution to interchangeable backends like Net::HTTP or Typhoeus. The library distinguishes itself through a parallel-execution engine that dispatches multiple HTTP requests concu
req is a chainable HTTP client library for Go designed to simplify request configuration and automatic response decoding into structures. It provides a fluent-interface request builder that allows developers to incrementally define request properties and encapsulate HTTP logic into reusable API SDKs. The project distinguishes itself with a TLS fingerprint emulator that mimics browser network signatures to bypass bot detection and crawler filters. It also includes a concurrent file downloader that increases transfer speeds by fetching large remote files in parallel segments. The library cover
unfetch is an isomorphic HTTP client and network library that provides a promise-based interface for performing network requests consistently across both browser and server environments. It serves as a lightweight implementation of the Fetch API for environments that lack native support for making network requests. The library enables the retrieval of web resources as text, JSON, or binary blobs while maintaining a small memory footprint. It functions as a polyfill by installing the fetch interface into the global namespace when native browser support is unavailable. The tool covers broad ca
This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP communication. It provides a high-performance client capable of executing non-blocking requests within event-driven applications, while also supporting standard blocking calls for simpler scripts. The library is built to operate natively across diverse asynchronous runtimes, automatically detecting and utilizing the underlying event loop for concurrency. What distinguishes this library is its modular architecture, which decouples request construction from network execution thro
node-apn is a Node.js library and push notification driver used to send remote notifications to Apple devices via the Apple Push Notification service. It functions as an HTTP/2 client that manages the construction and transmission of JSON payloads to the Apple notification gateway. The library supports multiple identity verification methods, including certificate-based authentication using PEM or PFX files and token-based authentication with automatically renewing tokens. It includes capabilities for routing traffic through intermediary proxy servers and secure HTTP tunnels to bypass restrict
Kemal is a high-performance web framework for the Crystal language, designed for building scalable APIs and web applications. It provides a natively compiled web server environment that leverages ahead-of-time compilation to maximize request speed and minimize memory overhead. The framework is distinguished by a middleware-based routing engine that uses pattern-matching and a chainable pipeline for flexible request filtering. It includes a dedicated server-side template engine for generating dynamic HTML and a WebSocket communication server for bidirectional real-time messaging and state broa
httpx is a suite of tools and libraries for HTTP reconnaissance, infrastructure discovery, and DNS resolution. It functions as a command line toolkit for extracting metadata and status codes from HTTP targets and CIDR ranges, as well as a Go library for integrating these probing capabilities into custom programs. The project distinguishes itself through specialized infrastructure profiling, using TLS fingerprinting to extract JARM hashes and certificate details. It identifies underlying components such as CDN usage, Autonomous System Numbers, and CNAMEs to map web server software and infrastr
Ion is an asynchronous HTTP client library for Android that handles network requests, JSON parsing, image loading, and file downloads. It provides a fluent builder pattern for constructing requests and supports automatic JSON deserialization into Java objects using Gson, along with in-memory image caching and multipart form-data encoding. The library distinguishes itself through its support for request cancellation via Future objects, allowing individual or bulk cancellation of in-flight requests to avoid wasted bandwidth and stale callbacks. It also includes proxy-aware request routing for d
🌳 Tiny & elegant JavaScript HTTP client based on the Fetch API
rtty is a web-based SSH terminal manager and secure gateway designed for remote device administration. It provides a browser interface for accessing Linux shells, managing remote files through binary streams, and routing network traffic to internal device web pages via an HTTP proxy tunnel. The system features a secure gateway using mutual TLS authentication and SSL encryption to protect data transmissions. It includes session orchestration tools for multi-session state management, enabling split-view monitoring and the execution of batch commands across multiple connected devices simultaneou
Revel is a full-stack web framework and toolkit for building applications with the Go language. It implements a model-view-controller architecture to separate business logic from user interface rendering, providing a comprehensive system for routing, parameter binding, and session management. The project distinguishes itself with a high-productivity development environment featuring automatic code compilation and hot-reloading, which refreshes the application state and templates upon file changes without requiring manual restarts. It also employs reflection-based parameter binding to automati
Feign is a declarative Java HTTP client that automates the generation of web service clients. It allows developers to define REST API endpoints using interfaces and annotations, removing the need to write manual request and response boilerplate code. The project uses dynamic proxies to map method calls to HTTP request templates. It features a pluggable pipeline of encoders and decoders to transform Java objects into request bodies and convert response bodies back into type-safe objects. The library covers a broad range of integration capabilities, including request interception for header ma
This is a non-blocking network client for Java applications that provides asynchronous HTTP request capabilities and bidirectional WebSocket connectivity. It leverages a Netty-based architecture to handle high volumes of network input and output. The library utilizes native transport abstractions such as Epoll, KQueue, and io_uring to reduce system latency. It supports HTTP/2 multiplexing to run multiple concurrent request-response streams over a single connection and provides automatic response body decompression for various formats. Core capabilities cover the management of complex network
This project is a comprehensive technical interview preparation guide and computer science knowledge base. It serves as a structured study resource designed to help software engineers review core engineering concepts and prepare for professional coding assessments. The repository focuses on a wide array of theoretical and practical domains, including detailed references for mobile application architecture and operating system fundamentals. It provides curated materials on software architecture patterns and network protocol analysis to support professional development. The content covers foun
This project is a Go client library and API wrapper for interacting with Elasticsearch clusters. It serves as a programmatic interface for managing documents, indices, and cluster health, allowing Go applications to perform search and indexing operations via the REST API. The library functions as a distributed search orchestrator, providing specialized tools for high-throughput data ingestion and cluster administration. It features a buffered bulk processor with exponential backoff retries for optimizing write performance and supports automated index lifecycle transitions and historical data
Salvo is a comprehensive Rust web framework for building asynchronous HTTP servers and web applications. It features a hierarchical web router that uses a tree-based structure to map requests to handlers and an asynchronous middleware pipeline based on the onion model for request and response pre- and post-processing. The framework is distinguished by its native support for modern network protocols, including a QUIC-based HTTP/3 implementation alongside HTTP/1 and HTTP/2. It includes an integrated OpenAPI documentation generator that extracts schemas directly from handler signatures to produc
Flurl is a .NET fluent URL builder and HTTP client wrapper designed for constructing complex web addresses and sending requests with a chainable interface. It functions as a URL manipulation library and an HTTP mocking framework to facilitate network interaction and testing. The project distinguishes itself through a fluent interface that allows for the incremental construction of paths, query parameters, and fragments. It provides a dedicated mocking system to intercept outgoing network traffic and return predefined responses, enabling isolated unit testing without a live server. Its broade
Hyperf is a high-performance PHP coroutine framework designed for building microservices and middleware. It utilizes non-blocking coroutines to handle high concurrency and low-latency request processing, providing a foundation for scalable distributed systems. The framework is distinguished by an aspect-oriented programming based dependency injector that enables pluggable components and meta-programming. It includes a coroutine-optimized object-relational mapper with integrated model caching and an orchestration toolkit for microservice governance, featuring service discovery, circuit breaker