Pluggable Stores
Swap between in-memory, SQLite, and DynamoDB backends without changing application code.
Pluggable Stores
Swap between in-memory, SQLite, and DynamoDB backends without changing application code.
Adaptive Rate Limiting
Priority-aware rate limiter that dynamically shifts capacity between user and background requests.
Request Deduplication
Automatic dedup ensures only one in-flight request per unique key — concurrent callers share the result.
TypeScript First
Strict TypeScript with full type safety, generics, and Zod runtime validation.
import { HttpClient } from '@http-client-toolkit/core';import { InMemoryCacheStore, InMemoryDedupeStore, InMemoryRateLimitStore,} from '@http-client-toolkit/store-memory';
const client = new HttpClient( { cache: new InMemoryCacheStore(), dedupe: new InMemoryDedupeStore(), rateLimit: new InMemoryRateLimitStore(), }, { defaultCacheTTL: 300 },);
const data = await client.get<{ name: string }>( 'https://api.example.com/user/1',);Installation
Install the core package and pick a store backend. Get Started →
Store Backends
Compare Memory, SQLite, and DynamoDB stores. Compare Stores →
API Reference
Explore the HttpClient API and store interfaces. Browse API →
Guides
Learn caching, dedup, rate limiting, and error handling patterns. Read Guides →