Skip to content

fetchquack

The modern HTTP client that actually handles streaming, SSE, and progress tracking. Built on the Fetch API. Works everywhere.

🌐 Universal

Works on Browser, Node.js, Bun, and Deno with zero configuration

🌊 Streaming

First-class support for streaming responses (text and binary)

📡 Server-Sent Events

Full SSE spec support with auto-reconnect and Last-Event-ID

⏳ Progress Tracking

Upload and download progress monitoring on all platforms

🔄 Interceptors

Powerful middleware system (auth, logging, retry, etc.)

🅰️ Angular 17+ Integration

RxJS Observable wrapper with injection context support

🔒 Type-Safe

Complete TypeScript definitions with generics

📦 Zero Dependencies

No runtime dependencies, just the Fetch API

🪶 Lightweight

~4KB minified + gzipped (browser bundle)

Terminal window
npm install fetchquack
import { HttpClient } from 'fetchquack';
const client = new HttpClient();
// Simple, typed requests
const user = await client.fetch<User>({
method: 'GET',
url: '/api/users/1'
});
console.log(user.name);