30 open-source projects similar to kittinunf/fuel, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Fuel alternative.
rxhttp is a communication layer and network library for Android applications that wraps OkHttp to provide an asynchronous HTTP client. It functions as a type-safe API client that manages network requests and automates the conversion of responses into structured objects. The library features a compile-time code generation tool to produce type-safe request boilerplate and an interceptor framework for applying global encryption, decryption, and custom headers to network traffic. It supports non-blocking communication using Kotlin Coroutines and RxJava. The project covers a broad range of networ
AndroidNetworking is an HTTP networking library for Android that handles the full lifecycle of network communication, from sending requests to parsing responses and caching data. It provides a unified interface for executing GET, POST, PUT, DELETE, HEAD, and PATCH requests, with support for both synchronous and asynchronous execution, and includes built-in JSON response parsing that converts server responses directly into Java objects or lists. The library distinguishes itself through a set of integrated capabilities that go beyond basic request execution. It manages file downloads and upload
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
🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀
🌳 Tiny & elegant JavaScript HTTP client based on the Fetch API
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,
This is a desktop HTTP client application used for constructing, sending, and analyzing HTTP and GraphQL requests. It provides a graphical interface for API development and testing, including a dedicated GraphQL client with schema-driven autocomplete and validation. The project features an integrated AI assistant that generates API requests from natural language prompts. It supports a complex organization system of spaces and collections with hierarchical authentication inheritance and recursive variable resolution for dynamic request values. The tool covers a broad range of capabilities, in
OkHttpUtils is a convenience wrapper for the OkHttp HTTP client that simplifies common networking operations on Android. It provides a straightforward interface for executing GET and POST requests, including sending form parameters and JSON payloads, as well as uploading files via multipart form data and downloading remote files to local storage. The library distinguishes itself through a set of practical utilities built on top of OkHttp's core architecture. It wraps synchronous calls into an asynchronous callback pattern, includes an interceptor-based logging layer for request and response d
Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for making network requests with a focus on asynchronous control flow and type-safe API client development. The library is distinguished by its middleware-based request lifecycle, which uses interceptors and plugins to modify request options and response data. It includes a configurable automatic retry mechanism with backoff strategies, a built-in HTTP response cache, and a cookie-jar system for maintaining persistent sessions. Broad capabilities cover data handling through duplex
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
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
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
NoHttp is an Android HTTP client framework that provides a simplified interface for executing synchronous and asynchronous network calls. It functions as a request wrapper with integrated support for response parsing, a network cache manager for storing data locally, and a file download manager for retrieving remote content. The framework features strategy-based backend switching, allowing it to swap between OkHttp and URLConnection implementations at runtime. It includes a byte-range resume mechanism for continuing interrupted file transfers and a multi-tier cache layer that supports encrypt
cpr is a C++ networking library that provides a high-level HTTP request client. It functions as a wrapper around libcurl to simplify the process of sending and receiving data from web servers, specifically managing GET and POST calls and multipart form uploads. The library provides both synchronous and asynchronous execution models, allowing network requests to run on background threads to prevent application freezing. It integrates with the C++ Standard Library to map low-level pointers to standard strings and containers, utilizing RAII for automatic resource management. The project covers
Android Volley is a client-side networking framework and HTTP library for Android applications. It functions as an asynchronous request queue manager and REST API client used to coordinate communication between mobile apps and remote servers. The project includes an HTTP cache management system that implements a cache-first retrieval strategy, checking local disk or memory storage for valid responses before initiating network requests. It manages the scheduling and prioritization of multiple network requests to optimize data transfer on mobile devices. The framework handles asynchronous data
C++ is a high-level HTTP client library and wrapper for libcurl. It provides a C++ interface for making network requests, managing network sessions, and implementing data transfers. The library distinguishes itself by offering an asynchronous HTTP client capable of executing non-blocking requests via callback interfaces. It also functions as a multipart form uploader for transmitting files and structured data, as well as an SSE stream handler for processing real-time server-sent events over persistent connections. Its broader capabilities cover secure web communication through SSL encryption
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 co
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
ofetch is an HTTP client built on the native fetch API that adds automatic JSON serialization, request/response interceptors, configurable retry, and timeout handling. It provides descriptive error objects for non-OK responses and automatically parses response bodies based on their content type. The client supports creating pre-configured instances with preset base URLs, headers, and default options, enabling consistent configuration across a project. It offers full TypeScript type inference for response data and request payloads, and allows extending request options with custom properties wh
Rest-assured is a Java-based REST API testing framework and HTTP client library designed for automating web service tests. It provides a fluent domain-specific language and assertion library to send HTTP requests and validate response metadata, including status codes, headers, cookies, and bodies. The framework is distinguished by a method-chaining DSL that creates readable specifications for API interactions. It features a filter-based request interception pipeline, object-mapping serialization for converting Java objects to JSON or XML, and a path-based parsing system to isolate specific fi
Axios is a promise-based HTTP client used to make asynchronous network requests in both browser and Node.js environments. It functions as a multi-environment network adapter that abstracts the transport layer to ensure consistent behavior across different runtimes. The project distinguishes itself through a request lifecycle management system that allows for the cancellation of active requests, the setting of timeouts, and the monitoring of upload and download transfer progress. It includes a mechanism for intercepting network traffic, enabling the transformation of outgoing requests and inco
SDWebImage is an asynchronous image downloader and caching library for iOS and macOS applications. It provides a core identity centered on a network utility for fetching images from URLs, a tiered memory and disk caching engine, and a processing framework for decoding and encoding media. The library features a specialized rendering engine for animated formats such as GIF and WebP, including support for progressive animation rendering. It distinguishes itself through a plugin system that allows for extended image format support and the ability to replace default loading or storage logic with c
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
This project is a promise-based HTTP client for Node.js that wraps callback-style network requests into promise objects. It serves as a library for sending JSON, form data, and multipart requests to web servers while managing asynchronous flow control. The library utilizes a specialized Bluebird promise implementation to handle request and response lifecycles. It includes a session manager that uses a cookie jar to maintain and transmit state across multiple network calls. The tool covers a broad range of network capabilities, including REST API integration, response data transformation, and
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
MVVMHabit is an Android development framework and base library that implements the MVVM architecture using Android Architecture Components. It provides a pre-integrated foundation designed to decouple business logic from user interface rendering and lifecycle management. The project distinguishes itself by bundling a comprehensive set of architectural templates, including a reactive event bus for decoupled component communication, token-based data exchange between logic instances, and a single-activity fragment hosting system to reduce manifest overhead. The framework covers broad capability
ServiceStack is a high-performance .NET web framework designed for building type-safe APIs using strongly-typed request and response objects. It functions as a message-based API engine that decouples business logic from the transport layer, allowing services to be exposed via multiple protocols including HTTP, gRPC, and various message queue providers. The framework is distinguished by its type-safe API generator, which produces native client SDKs and data transfer objects from service metadata across multiple languages. It also includes a distributed service gateway for microservices orchest
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
Grequests is an asynchronous HTTP batcher and Gevent-based client library used to execute large sets of network requests simultaneously. It functions as a concurrent request wrapper for the Requests library, enabling non-blocking operations to reduce the total time spent waiting for server responses. The project provides a task-pool execution model to handle batch network operations, such as high-throughput web scraping and API polling. It can stream responses as they arrive via a generator, allowing for immediate data processing without waiting for the entire batch to complete. The library
Requests is a Python HTTP client library used for sending HTTP requests and handling responses. It serves as a network client providing fundamental components for session management, proxy routing, multi-part uploading, and SSL/TLS certificate verification. The project distinguishes itself through a session manager that maintains cookies and reuses TCP connections to improve network performance. It also includes a dedicated multi-part form uploader for transmitting binary data and an integrated SSL/TLS certificate verifier to ensure encrypted and trusted communication. The library covers a b